A personalized AI-powered career and skills advisor for Indian students, designed to provide structured career guidance, skill gap analysis, and step-by-step roadmaps. Built with Next.js 14, TypeScript, Tailwind CSS, Prisma, and Google Cloud AI.
-
π€ AI-Powered Career Recommendations
Suggests 2β3 personalized career paths across tech & non-tech fields (doctor, IAS, engineer, gamer, singer, entrepreneur, etc.)
based on skills, interests, motivation, and time availability. -
π― Career Roadmaps
Adaptive, step-by-step roadmap updated every 4 months with latest industry trends (e.g., GenAI, creator economy). -
π Skill Gap Analysis
Compares userβs current profile with target career, highlights gaps, and suggests learning resources. -
π Multi-Stage Assessment
Interactive 4-stage onboarding capturing qualifications, interests, motivation, and goals. -
π¬ Empathetic Chatbot Guidance
Context-aware AI chatbot for resolving doubts, handling personal challenges (finance, family, health, etc.),
and suggesting micro-experiments for talent discovery. -
π Daily Micro-Tasks
Personalized small tasks as footprints toward career success, directly integrated in the user dashboard. -
πΌ Job Recommendation & Apply
Matches user profiles with real-time job opportunities and allows direct applications from dashboard. -
π± Personal Dashboard
Central hub to track progress via weekly graphs, update profile anytime, and connect back with the chatbot. -
π Secure Authentication
Google OAuth + Email/Password with JWT-based sessions, CSRF protection, and secure storage. -
π Responsive & Scalable Design
Built on Next.js 13+, TypeScript, Tailwind, Prisma, Framer Motion for modern UX and smooth performance. -
π‘οΈ Privacy First
User data stored securely in PostgreSQL & Firestore, processed via Vertex AI Gemini with encryption and consent control.
src/
βββ app/ # Next.js App Router β all application routes
β βββ api/ # Serverless API endpoints
β β βββ assessment/ # Assessment logic and scoring
β β βββ auth/ # Authentication APIs (sign-in / sign-up / OAuth)
β β βββ careersathi/ # Career guidance and recommendation APIs
β β βββ charts/ # Data visualization & analytics APIs
β β βββ jobs/ # Job search & recommendation APIs
β β βββ questions/ # Dynamic question retrieval for assessments
β β βββ roadmap/ # Career roadmap generation APIs
β βββ auth/ # Public authentication pages
β β βββ signin/ # Sign-in page
β β βββ signup/ # Sign-up page
β βββ dashboard/ # Personalized student dashboard
β β βββ loading/ # Suspense loading state
β β βββ page/ # Dashboard entry point
β βββ plan/ # Career roadmap UI (renamed from `roadmap`)
β β βββ [[id]]/ # Dynamic roadmap details
β β βββ page/ # Roadmap landing page
β βββ practice/ # Skill-building practice modules
β β βββ experiments/ # Guided micro-experiments
β βββ how-it-helps/ # Static informational page
β βββ jobs/ # Job listings & search interface
β β βββ loading/
β β βββ page/
β βββ chat/ # Real-time chat interface
β β βββ [[id]]/ # Dynamic chat sessions
β β βββ page/
β βββ assessment/ # Assessment flow entry page
β βββ layout/ # Global layout wrapper (shared header/footer)
β βββ page/ # Root landing page
β βββ error/ # Application-wide error boundary
β βββ not-found/ # 404 page
β βββ globals.css # Global styles
β
βββ components/ # Reusable, feature-oriented React components
β βββ auth/ # Authentication UI widgets
β βββ layout/ # Header, footer, navigation bars
β βββ providers/ # Context & session providers
β βββ dashboard/ # Dashboard cards and charts
β βββ assessment/ # Assessment UI elements
β βββ chat/ # Chat UI widgets
β βββ jobs/ # Job-related components
β βββ roadmap/ # Career roadmap visuals
β βββ ui/ # Shared UI primitives (buttons, cards, progress bars)
β
βββ hooks/ # Custom React hooks
β βββ useAutoScroll/ # Auto-scrolling for chat windows
β βββ useChatMessages/ # Chat message management
β βββ useChatSessions/ # Chat session handling
β
βββ lib/ # Core utilities and service layers
β βββ assessmentChecker/ # Assessment validation and scoring helpers
β βββ atom/ # Jotai/Recoil state atoms
β βββ auth/ # Authentication configuration
β βββ chatStorage/ # Persistent chat storage utilities
β βββ firebase/ # Firebase client SDK
β βββ prisma/ # Prisma ORM client
β βββ questionService/ # Question retrieval service
β βββ randomGreeting/ # Friendly greeting generator
β βββ utils/ # General-purpose helper functions
β βββ parseJDToHTML/ # Parse job descriptions into HTML
β βββ getRecommendedJobs/ # Job recommendation engine
β βββ vertex/ # AI helper functions (Vertex AI)
β
βββ types/ # Central TypeScript type definitions
β βββ profile/ # User profile types
β βββ roadmap/ # Career roadmap types
β βββ career/ # Career and job types
β
βββ middleware/ # Route protection & JWT validation
βββ .envExample # Environment variable template
βββ .eslintrc.json # ESLint configuration
βββ .gitignore # Git ignore rules
- Node.js v18+
- npm or yarn
- Google Cloud project (for Vertex AI)
- Firebase project (Authentication + Firestore)
git clone https://github.com/itgithubplatform/careersathi.git
cd careersathinpm installCopy the example .env.local and update with actual credentials:
cp .env.local.example .env.localRequired variables:
# Database
DATABASE_URL="file:./dev.db"
# NextAuth.js
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="your-secret-key"
# Google OAuth
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
# Firebase (client & admin)
NEXT_PUBLIC_FIREBASE_API_KEY="..."
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN="..."
NEXT_PUBLIC_FIREBASE_PROJECT_ID="..."
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET="..."
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID="..."
NEXT_PUBLIC_FIREBASE_APP_ID="..."
FIREBASE_PRIVATE_KEY="..."
FIREBASE_CLIENT_EMAIL="..."
FIREBASE_PROJECT_ID="..."
# Optional: Google Cloud AI
GOOGLE_CLOUD_PROJECT_ID="..."
GOOGLE_CLOUD_API_KEY="..."npx prisma generate
npx prisma db pushnpm run devOpen http://localhost:3000 to access the app.
-
Sign In / Sign Up Pages
- Google OAuth β
- Email/Password (optional)
-
Security Features
- JWT session
- Middleware route protection
- Secure cookies (HttpOnly, Secure, SameSite)
- CSRF protection
-
UI/UX
- OAuth buttons with correct branding
- Loading states & error handling
- Responsive design
Stage 1 β Identity & Context
- Collect basic info: age, education, location
- Preferences & consent
Stage 2 β Interests & Motivation
- Domain selection (AI, Web, Design, Finance, etc.)
- Work preferences & motivation type
- Optional: βIβm not sureβ β chatbot redirection
Stage 3 β Skills & Competency
- Interactive skill sliders (1β5)
- Project experience & technology familiarity
- Optional: Chatbot assistance if confused
Stage 4 β Results & Recommendations
- AI-generated career matches (2β5 options)
- Skill gap analysis
- Satisfaction check β redirect to chatbot if needed
Chatbot Integration
- Redirection triggers: motivation unclear, skill assessment help, unsatisfied with results
- Contextual guidance using AI
- Previous responses available for continuity
- Mobile-first responsive design
- Gradient backgrounds, hover effects, smooth transitions
- Framer Motion animations for components
- Progress bars & stage indicators in assessment
- Touch-friendly sliders and buttons for mobile
- Vertex AI Gemini + Vector DB integration
- Structured output for recommendations:
{
"identity": { "age": 22, "education": "BTech", "location": "Mumbai" },
"interests": { "domains": ["AI", "Web"], "motivation": "high-pay" },
"skills": { "problemSolving": 4, "coding": 3, "communication": 4 },
"chatbotTriggers": ["motivation_unclear", "skills_help_needed"]
}- Dynamic re-mapping based on user feedback or micro-experiments
- Skill gap analysis and roadmap generation
- OAuth-only authentication (no passwords stored)
- JWT-based secure sessions
- Route protection middleware
- Explicit user consent for data usage
- Secure storage and no external sharing
/auth/signupβ OAuth buttons visible- Google/LinkedIn sign-in β redirect to
/dashboard - Attempt
/dashboardwithout login β redirected to/auth/signin - Navigation buttons change based on auth state
- Logout β redirects to landing page
- Multi-stage assessment β all stages progress correctly
- Chatbot redirection triggers working
- Skill gap analysis and career recommendations shown correctly
- Frontend: Next.js 13+, TypeScript, Tailwind CSS, Framer Motion
- Backend: NextAuth.js, Prisma ORM, SQLite, postgreSQL, Firestore
- AI: Google Cloud Vertex AI Gemini, Vector DB(not implemented currently)
- Authentication: OAuth (Google), email/password (not implemented)(optional)
- Deployment: Vercel recommended
- Fork the repo
- Create a feature branch (
git checkout -b feature/your-feature) - Commit changes (
git commit -m "Add new feature") - Push branch (
git push origin feature/your-feature) - Open a Pull Request
MIT License β see LICENSE
- Email: hello@careersathi.com
- connect with us for real-time support
Made with β€οΈ for Indian students by the CareerSathi Team