Skip to content

jagrat2004/Sensei

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/database

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key

NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/onboarding
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/onboarding

GEMINI_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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors