Skip to content

Pravesh0005/AIIC

Repository files navigation










Typing SVG




🎯 Master every interview. Get real-time AI feedback. Land your dream job.



📋 Table of Contents


✨ Overview

AIIC (AI Interview Coach) is a premium Android application that leverages artificial intelligence to help students and professionals prepare for placements, internships, and job interviews.

Think of it as having a world-class career coach in your pocket — available 24/7, personalized to your goals, and powered by cutting-edge AI.

The app is designed to feel like:

Inspiration Quality
🍎 Apple Polish & Attention to Detail
Linear Clarity & Minimalism
💳 Stripe Premium Branding
🔍 Raycast Modern Product Feel

🚀 Features

🎭 Splash & Onboarding

  • ✅ Animated splash with gradient background
  • ✅ 3-page onboarding with slide transitions
  • ✅ Premium emoji-based visual hierarchy
  • ✅ Progress indicators with micro-animations
  • ✅ Skip & Continue flow

🔐 Authentication UI

  • ✅ Email/password login with validation
  • ✅ Google Sign-In button (styled)
  • ✅ Registration with confirm password
  • ✅ Forgot password with success animation
  • ✅ Premium microcopy throughout

🏠 Home Dashboard

  • ✅ Welcome hero with readiness score
  • ✅ Horizontal stats carousel
  • ✅ Quick action cards (AI Mock, Q Bank, Skills)
  • ✅ Recent activity feed
  • ✅ Analytics preview with progress bar
  • ✅ Bottom navigation (4 tabs)

🎨 Premium Design System

  • ✅ Custom color palette (60+ tokens)
  • ✅ Typography scale (Inter + Space Grotesk)
  • ✅ Shape system (10 presets)
  • ✅ Spacing system (16 tokens)
  • ✅ Glassmorphism, gradients, glow effects

🧱 Reusable Components

  • ✅ PremiumButton with gradient & loading
  • ✅ GlassCard with translucent styling
  • ✅ ScoreCard & FeatureCard
  • ✅ Custom TextField with password toggle
  • ✅ Shimmer loading & error/empty states

🏗️ Production Architecture

  • ✅ MVVM with BaseViewModel
  • ✅ Sealed UiState & UiEvent
  • ✅ Repository pattern with interfaces
  • ✅ Hilt dependency injection
  • ✅ Clean layer separation
  • ✅ Use case pattern

📄 Resume Platform & Parsing

  • ✅ PDF File Uploads & Permissions
  • ✅ Cloud Storage Sync & Retrieval
  • ✅ Version History & Iteration Tracking
  • ✅ Content Extraction Engine

🤖 AI Intelligence Engine

  • ✅ Live Gemini 1.5 Flash Integration
  • ✅ Groq API (Llama 3) Fallback Mechanism
  • ✅ Prompt Engineering & JSON Constraints
  • ✅ Real-time ATS Scoring Engine
  • ✅ Keyword Gap & Skill Extraction
  • ✅ Actionable AI Recommendations

🏛️ Architecture

┌─────────────────────────────────────────────────────────────────┐
│                        PRESENTATION                              │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐        │
│  │  Splash   │  │Onboarding│  │   Auth   │  │   Home   │        │
│  │  Screen   │  │  Screen  │  │ Screens  │  │Dashboard │        │
│  └────┬─────┘  └────┬─────┘  └────┬─────┘  └────┬─────┘        │
│       │              │             │              │               │
│  ┌────┴──────────────┴─────────────┴──────────────┴─────┐       │
│  │                    ViewModels                          │       │
│  │         (StateFlow + Channel Events)                   │       │
│  └────────────────────────┬──────────────────────────────┘       │
├───────────────────────────┼──────────────────────────────────────┤
│                     DOMAIN LAYER                                 │
│  ┌────────────┐  ┌────────┴───────┐  ┌──────────────┐          │
│  │   Models    │  │   Use Cases    │  │  Repository   │          │
│  │ (User, etc) │  │ (Login, etc)   │  │  Interfaces   │          │
│  └────────────┘  └────────────────┘  └──────┬───────┘          │
├─────────────────────────────────────────────┼────────────────────┤
│                      DATA LAYER              │                    │
│  ┌────────────┐  ┌────────────────┐  ┌──────┴───────┐          │
│  │    DTOs     │  │   DataStore    │  │  Repository   │          │
│  │  (Mappers)  │  │ (Preferences)  │  │    Impls      │          │
│  └────────────┘  └────────────────┘  └──────────────┘          │
├──────────────────────────────────────────────────────────────────┤
│                    DI (Hilt Modules)                              │
└──────────────────────────────────────────────────────────────────┘

📱 Screens

Screen Description Key Features
🎬 Splash Animated brand reveal Scale + fade animation, gradient BG
📖 Onboarding 3-page feature tour AnimatedContent, progress dots, emoji icons
🔑 Login Email + Google sign-in Validation, loading states, forgot password link
📝 Register Full registration form 4 fields, confirm password, legal copy
🔒 Forgot Password Reset flow Success animation with checkmark
🏠 Home Dashboard shell Hero, stats row, actions, activity, analytics
👤 Profile User profile Avatar, upgrade CTA, settings menu
⚙️ Settings App settings Toggle switches, navigation items

🎨 Brand System

┌─────────────────────────────────────────────────────────────────┐
│                     AIIC COLOR PALETTE                           │
├──────────────┬──────────────┬──────────────┬────────────────────┤
│   PRIMARY    │  SECONDARY   │    ACCENT    │    BACKGROUND      │
│   #7C5CFC   │   #00D4AA    │   #FF6B9D   │     #0A0A0F        │
│  Electric    │    Mint      │    Rose     │    Deep Dark       │
│  Violet      │   Green      │    Pink     │                    │
├──────────────┴──────────────┴──────────────┴────────────────────┤
│                                                                  │
│   TYPOGRAPHY                                                     │
│   ├── Display: Space Grotesk (Bold, -1.5sp tracking)            │
│   ├── Headlines: Space Grotesk (SemiBold)                       │
│   ├── Body: Inter (Regular, 16sp)                               │
│   ├── Labels: Inter (SemiBold, 12sp)                            │
│   └── Buttons: Inter (SemiBold, 15sp)                           │
│                                                                  │
│   SHAPES                                                         │
│   ├── Cards: 20dp rounded                                       │
│   ├── Buttons: 14dp rounded                                     │
│   ├── Inputs: 12dp rounded                                      │
│   └── Pills: 50% rounded                                        │
│                                                                  │
│   EFFECTS                                                        │
│   ├── Glassmorphism (10% white overlay)                         │
│   ├── Gradient buttons (Violet → Rose)                          │
│   ├── Soft glow accents                                          │
│   └── Shimmer loading animations                                │
│                                                                  │
└──────────────────────────────────────────────────────────────────┘

🧩 Reusable Components

Component Description
PremiumButton Gradient button with loading spinner
GlassCard Translucent glassmorphism card
ScoreCard Metric display with accent color
FeatureCard Icon + title + description row
AIICTextField Custom input with password toggle & validation
SectionHeader Title + subtitle + action link
LoadingShimmer Animated placeholder skeleton
EmptyStateView Empty content placeholder
ErrorStateView Error display with retry button
AppLogo Gradient circle with "AI" text
GradientText Text with gradient brush fill

🛠️ Tech Stack

Layer Technology Purpose
Language Kotlin Primary development language
UI Framework Jetpack Compose Declarative UI
Design System Material Design 3 Component library
Architecture MVVM + Clean Separation of concerns
DI Hilt (Dagger) Dependency injection
Navigation Navigation Compose Screen routing
Async Coroutines + StateFlow Reactive state management
Persistence DataStore Preferences Local key-value storage
Fonts Google Fonts API Inter + Space Grotesk
Animations Compose Animation Micro-interactions
System UI Accompanist Status/nav bar theming
Images Coil Image loading (ready)
Animations Lottie Complex animations (ready)
Auth Firebase Auth Email/Password + Google OAuth
Database Cloud Firestore User profiles + real-time sync
Storage Firebase Storage Profile photos (ready)
Analytics Firebase Analytics Event tracking (ready)
Credentials CredentialManager Google Sign-In infrastructure

📁 Project Structure

📂 AIIC/
│
├── 📄 build.gradle.kts              # Root build config
├── 📄 settings.gradle.kts           # Project settings
├── 📄 gradle.properties             # Gradle properties
├── 📄 .gitignore                    # Git ignore rules
├── 📄 README.md                     # ← You are here
│
├── 📂 gradle/
│   ├── 📄 libs.versions.toml       # Version catalog (all deps)
│   └── 📂 wrapper/
│       └── 📄 gradle-wrapper.properties
│
└── 📂 app/
    ├── 📄 build.gradle.kts          # App module config
    ├── 📄 proguard-rules.pro        # ProGuard rules
    │
    └── 📂 src/main/
        ├── 📄 AndroidManifest.xml
        │
        ├── 📂 res/
        │   ├── 📂 values/
        │   │   ├── 📄 strings.xml
        │   │   ├── 📄 themes.xml
        │   │   └── 📄 font_certs.xml
        │   └── 📂 drawable/
        │       └── 📄 splash_background.xml
        │
        └── 📂 java/com/aiic/app/
            │
            ├── 📄 AIICApplication.kt        # @HiltAndroidApp
            ├── 📄 MainActivity.kt           # Single Activity
            │
            ├── 📂 core/
            │   ├── 📂 base/
            │   │   ├── 📄 BaseViewModel.kt  # Generic ViewModel
            │   │   └── 📄 UiState.kt        # Sealed state/events
            │   └── 📂 theme/
            │       ├── 📄 Color.kt          # 60+ color tokens
            │       ├── 📄 Type.kt           # Typography scale
            │       ├── 📄 Shape.kt          # Shape presets
            │       ├── 📄 Spacing.kt        # Spacing tokens
            │       └── 📄 Theme.kt          # Theme composable
            │
            ├── 📂 common/
            │   ├── 📂 animations/
            │   │   └── 📄 Animations.kt     # Fade/slide helpers
            │   ├── 📂 components/
            │   │   ├── 📄 Components.kt     # All reusable widgets
            │   │   └── 📄 AIICTextField.kt  # Custom text field
            │   ├── 📂 constants/
            │   │   └── 📄 AppConstants.kt
            │   └── 📂 extensions/
            │       └── 📄 Extensions.kt     # Utility extensions
            │
            ├── 📂 data/
            │   ├── 📂 local/
            │   │   └── 📄 PreferencesManager.kt
            │   ├── 📂 model/
            │   │   └── 📄 UserDto.kt        # DTO + mappers
            │   └── 📂 repository/
            │       ├── 📄 AuthRepositoryImpl.kt
            │       └── 📄 UserPreferencesRepositoryImpl.kt
            │
            ├── 📂 domain/
            │   ├── 📂 model/
            │   │   ├── 📄 User.kt
            │   │   └── 📄 InterviewSession.kt
            │   ├── 📂 repository/
            │   │   ├── 📄 AuthRepository.kt
            │   │   └── 📄 UserPreferencesRepository.kt
            │   └── 📂 usecase/
            │       └── 📄 AuthUseCases.kt
            │
            ├── 📂 presentation/
            │   ├── 📂 feature_splash/
            │   │   ├── 📄 SplashScreen.kt
            │   │   └── 📄 SplashViewModel.kt
            │   ├── 📂 feature_onboarding/
            │   │   ├── 📄 OnboardingScreen.kt
            │   │   └── 📄 OnboardingViewModel.kt
            │   ├── 📂 feature_auth/
            │   │   ├── 📂 login/
            │   │   │   ├── 📄 LoginScreen.kt
            │   │   │   └── 📄 LoginViewModel.kt
            │   │   ├── 📂 register/
            │   │   │   ├── 📄 RegisterScreen.kt
            │   │   │   └── 📄 RegisterViewModel.kt
            │   │   └── 📂 forgot_password/
            │   │       ├── 📄 ForgotPasswordScreen.kt
            │   │       └── 📄 ForgotPasswordViewModel.kt
            │   ├── 📂 feature_home/
            │   │   ├── 📄 HomeScreen.kt
            │   │   └── 📄 HomeViewModel.kt
            │   ├── 📂 feature_profile/
            │   │   └── 📄 ProfileScreen.kt
            │   └── 📂 feature_settings/
            │       └── 📄 SettingsScreen.kt
            │
            ├── 📂 navigation/
            │   ├── 📄 AppRoutes.kt          # Sealed route defs
            │   └── 📄 AIICNavHost.kt        # NavHost + transitions
            │
            └── 📂 di/
                └── 📄 AppModule.kt          # Hilt bindings

💡 45+ Kotlin files comprising a complete production-grade Android foundation with Firebase backend.


⚡ Quick Start

# 1. Clone the repository
git clone https://github.com/Pravesh0005/AIIC.git

# 2. Open in Android Studio (Ladybug+)

# 3. Sync Gradle dependencies

# 4. Run on emulator or device (API 26+)

Requirements

Requirement Version
Android Studio Ladybug (2024.2.1) or later
JDK 17
Min SDK 26 (Android 8.0)
Target SDK 35 (Android 15)
Gradle 8.9
AGP 8.7.3

🗺️ Navigation Flow

┌──────────┐     ┌──────────────┐     ┌──────────┐     ┌──────────┐
│  Splash  │────▶│  Onboarding  │────▶│  Login   │────▶│   Home   │
│  Screen  │     │  (3 pages)   │     │  Screen  │     │Dashboard │
└──┬───────┘     └──────────────┘     └────┬─────┘     └──────────┘
   │  (returning user skips to login/home)  │
   │                                 ┌──────┴──────┐
   │                                 ▼             ▼
   │                           ┌──────────┐  ┌──────────┐
   │                           │ Register │  │ Forgot   │
   │                           │  Screen  │  │ Password │
   │                           └────┬─────┘  └──────────┘
   │                                │
   │                                ▼
   │                          ┌───────────┐
   │                          │  Account  │
   │                          │   Setup   │──────▶ Home
   │                          └───────────┘
   │
   └──▶ (logged in) ──────────────────────▶ Home

📊 Day 1 Progress

+ ✅ Project Setup & Gradle Configuration
+ ✅ Version Catalog (libs.versions.toml)
+ ✅ Premium Dark Color Palette (60+ tokens)
+ ✅ Typography System (Inter + Space Grotesk)
+ ✅ Shape & Spacing Design Tokens
+ ✅ Material 3 Theme Integration
+ ✅ Hilt Dependency Injection
+ ✅ Navigation Graph with Transitions
+ ✅ BaseViewModel + UiState + UiEvent
+ ✅ Repository Pattern (Domain + Data)
+ ✅ DataStore Preferences
+ ✅ Splash Screen with Animations
+ ✅ 3-Page Onboarding Flow
+ ✅ Login Screen (Email + Google)
+ ✅ Register Screen (Full Form)
+ ✅ Forgot Password Screen
+ ✅ Home Dashboard Shell
+ ✅ Profile Screen
+ ✅ Settings Screen
+ ✅ 10+ Reusable Components
+ ✅ Animation Helpers
+ ✅ Use Cases Layer
+ ✅ DTO Mappers

🔥 Day 2 Progress

+ ✅ Firebase BOM + Auth + Firestore + Storage + Analytics
+ ✅ Google Sign-In + CredentialManager dependencies
+ ✅ NetworkResult sealed class for type-safe API responses
+ ✅ DispatcherProvider for testable coroutines
+ ✅ NetworkMonitor with ConnectivityManager callbacks
+ ✅ AnalyticsTracker abstraction (vendor-agnostic)
+ ✅ Validator engine (email, password strength, confirm, name)
+ ✅ FirebaseErrorMapper — user-friendly error messages
+ ✅ FirebaseAuthRepository (login, register, Google, reset, observe)
+ ✅ FirestoreUserRepository (CRUD, real-time listener, merge writes)
+ ✅ SessionRepositoryImpl (DataStore-backed persistence)
+ ✅ UserProfile domain model (career goals, skills, preferences)
+ ✅ AuthSession + AuthCredentials domain models
+ ✅ 8 Use Cases (Login, Register, Reset, Logout, Google, etc.)
+ ✅ LoginViewModel with validation + Firebase auth
+ ✅ RegisterViewModel with 4-field validation + Firestore profile
+ ✅ ForgotPasswordViewModel with reset sent state
+ ✅ SplashViewModel with 3-way routing (onboarding/login/home)
+ ✅ AccountSetupViewModel with Firestore profile update
+ ✅ Rebuilt LoginScreen — password toggle, loading, Google button
+ ✅ Rebuilt RegisterScreen — terms checkbox, confirm password
+ ✅ Rebuilt ForgotPasswordScreen — success state with confirmation
+ ✅ New AccountSetupScreen — career goals, skills, skip option
+ ✅ AIICTextField upgraded — ImageVector icons, trailing slots
+ ✅ PremiumButton upgraded — custom content slot
+ ✅ SplashScreen 3-way routing (onboarding → login → home)
+ ✅ NavHost with AccountSetup route + proper popUpTo logic
+ ✅ Complete Hilt DI module with Firebase singletons
+ ✅ Thread-safe BaseViewModel with atomic state updates
+ ✅ PreferencesManager hardened as session singleton

🤖 Day 3 Progress

+ ✅ Phase 3A: Resume Platform Core
+ ✅ File Picker Integration (PDF Uploads)
+ ✅ Firestore Resume Document Storage (Version History)
+ ✅ Cloud Storage Resume File Uploading 
+ ✅ ResumeDetailScreen (Stats, Metadata, Actions)
+ ✅ ResumeHistoryScreen (Track uploaded iterations)
+ ✅ ResumeDashboardScreen (Upload & Manage)
+ ✅ Phase 3B: AI Resume Intelligence Engine
+ ✅ Generative AI SDK Integration (Live Gemini 1.5 Flash)
+ ✅ Prompt Engineering Pipeline (Structured JSON constraints)
+ ✅ Real-Time ATS Score Engine (Visual Progress Indicators)
+ ✅ Strength & Weakness Extraction Engine
+ ✅ Skill Categorization & Keyword Gap Analysis
+ ✅ Actionable AI Recommendation Cards
+ ✅ Animated State Management (Analyzing, Success, Failed)
+ ✅ ResumeInsightsScreen (Historical AI feedback viewer)
+ ✅ Glassmorphic Premium Components (SkillChips, ATS Cards)

🤖 Day 4 Progress

+ ✅ Phase 4: AI Mock Interview Engine
+ ✅ Interview Setup Screen (Role, Difficulty, Configuration)
+ ✅ Interview Session Engine (State Machine for Interviews)
+ ✅ Generative AI Real-Time Answer Evaluation
+ ✅ Groq API (Llama 3) Fallback Integration for high availability
+ ✅ Dynamic Follow-Up Question Generation
+ ✅ Distraction-Free Interview UI with Live Timer
+ ✅ Interview Summary Dashboard
+ ✅ Firestore Session, Question, and Answer Tracking
+ ✅ Hilt Repositories Injection for Data Layer

📈 Day 5 Progress

+ ✅ Phase 5: AI Feedback Engine
+ ✅ Real-Time AI Answer Evaluation & Scoring
+ ✅ AnswerFeedbackScreen (Strengths, Weaknesses, Improvements)
+ ✅ Actionable Session Summaries & Score Rings
+ ✅ Target Role Context Injection
+ ✅ Deterministic AI JSON Parsing Engine
+ ✅ Optimized AI Latency with Strict 10s Timeouts
+ ✅ Feedback Domain Use Cases & Repositories

🔮 Roadmap

Day 1  ██████████████████████████████ 100% — Foundation ✅
Day 2  ██████████████████████████████ 100% — Firebase Auth + Firestore + Session ✅
Day 3A ██████████████████████████████ 100% — Resume Platform Foundation ✅
Day 3B ██████████████████████████████ 100% — AI Resume Intelligence Engine ✅
Day 4  ██████████████████████████████ 100% — AI Mock Interview Engine ✅
Day 5  ██████████████████████████████ 100% — AI Feedback Engine ✅
Day 6  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   0% — Voice Features
Day 7  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   0% — Polish & Play Store

📄 License

This project is proprietary and protected under a custom license.

See the LICENSE file for details.

© 2026 Pravesh Jakhar — All Rights Reserved.


Built with ❤️ by Pravesh Jakhar

Premium Android Engineering • Clean Architecture • AI-Powered Coaching


forthebadge forthebadge forthebadge


Star this repo if you find it impressive!

About

AIIC — a modern AI-powered platform built for smart assistance, automation, productivity, and seamless real-world experiences.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages