Skip to content

Repository files navigation

AI Career Coach

A full-stack AI-powered career coaching platform built with Next.js, featuring resume building, cover letter generation, interview preparation, and industry insights.

Features

  • AI-Powered Career Guidance: Personalized career advice using advanced AI technology
  • Smart Resume Creation: Generate ATS-optimized resumes with AI assistance and scoring
  • Cover Letter Generation: Create compelling cover letters tailored to job descriptions
  • Interview Preparation: Practice with role-specific questions, get instant feedback, and track performance
  • Industry Insights: Real-time industry trends, salary data, and market analysis
  • User Dashboard: Comprehensive dashboard to track progress and manage career documents
  • Onboarding Process: Professional onboarding to personalize user experience
  • Authentication: Secure authentication using Clerk

Tech Stack

  • Frontend: Next.js 15, React 19, Tailwind CSS, Shadcn UI
  • Backend: Next.js API Routes, Server Actions
  • Database: PostgreSQL with Prisma ORM (hosted on Neon)
  • Authentication: Clerk
  • AI: Google Gemini API
  • Background Jobs: Inngest
  • Styling: Tailwind CSS with custom components
  • Icons: Lucide React
  • Charts: Recharts
  • Forms: React Hook Form with Zod validation

Prerequisites

  • Node.js 18+
  • npm or yarn
  • PostgreSQL database (Neon recommended)
  • Clerk account for authentication
  • Google Gemini API key

Installation

  1. Clone the repository:

    git clone <repository-url>cd ai-career-coach
  2. Install dependencies:

    npm install
  3. Set up the database:

    • Create a Neon PostgreSQL database
    • Run Prisma migrations:
      npx prisma migrate deploy
  4. Generate Prisma client:

    npx prisma generate

Environment Variables

Create a .env file in the root directory with the following variables:

DATABASE_URL=postgresql://username:password@host:port/databaseNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_keyCLERK_SECRET_KEY=your_clerk_secret_keyNEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-inNEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-upNEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/onboardingNEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/onboardingGEMINI_API_KEY=your_gemini_api_key

Environment Variable Explanations

  • DATABASE_URL: Connection string for your PostgreSQL database (Neon format)
  • NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: Public key from your Clerk application
  • CLERK_SECRET_KEY: Secret key from your Clerk application
  • NEXT_PUBLIC_CLERK_SIGN_IN_URL: URL for sign-in page
  • NEXT_PUBLIC_CLERK_SIGN_UP_URL: URL for sign-up page
  • NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL: Redirect URL after sign-in
  • NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL: Redirect URL after sign-up
  • GEMINI_API_KEY: API key for Google Gemini AI

Database Setup

The application uses Prisma with PostgreSQL. The schema includes the following models:

  • User: User profiles with skills, experience, and industry
  • Resume: User resumes with ATS scoring and feedback
  • CoverLetter: Generated cover letters for job applications
  • Assessment: Interview quiz results and performance tracking
  • IndustryInsight: Industry trends, salary data, and market analysis

To set up the database:

  1. Ensure your DATABASE_URL is set in .env
  2. Run migrations:
    npx prisma migrate deploy
  3. Generate the Prisma client:
    npx prisma generate

Running the Application

  1. Start the development server:

    npm run dev
  2. Open http://localhost:3000 in your browser

  3. For production build:

    npm run build
    npm start

Usage

  1. Sign Up/Sign In: Create an account or sign in using Clerk authentication
  2. Onboarding: Complete your professional profile with industry and skills
  3. Dashboard: View your career progress and access all features
  4. Resume Builder: Create and optimize your resume with AI assistance
  5. Cover Letter Generator: Generate tailored cover letters for job applications
  6. Interview Preparation: Take practice quizzes and track your performance
  7. Industry Insights: Explore market trends and salary information

API Routes

The application includes several API routes for background processing:

  • /api/inngest: Inngest webhook for background jobs (industry insights generation)

Background Jobs

  • Industry Insights Generation: Runs weekly to update industry trends and salary data using AI

Project Structure

ai-career-coach/
├── app/ # Next.js app directory
│ ├── (auth)/ # Authentication pages
│ ├── (main)/ # Main application pages
│ │ ├── dashboard/ # User dashboard
│ │ ├── resume/ # Resume builder
│ │ ├── interview/ # Interview preparation
│ │ └── ai-cover-letter/ # Cover letter generator
│ └── api/ # API routes
├── components/ # Reusable UI components
├── lib/ # Utility functions and configurations
├── prisma/ # Database schema and migrations
├── actions/ # Server actions
├── data/ # Static data files
└── public/ # Static assets

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests and linting:
    npm run lint
  5. Submit a pull request

License

This project is intended solely for academic and research purposes.

Acknowledgments

  • UI components from Shadcn UI
  • Icons from Lucide React
  • AI powered by Google Gemini

Build with ❤️ by Jagrat Agrawal

About

Sensei is an AI-powered career coaching platform built with Next.js, offering tools for resumes, cover letters, interview prep, and personalized career guidance.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages