Skip to content

mdashad0/Career-Coach

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

68 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SensAI - AI Career Coach πŸš€This is a Next.js project bootstrapped with create-next-app.

Next.js## Getting Started

React

PrismaFirst, run the development server:

PostgreSQL

Tailwind CSS```bash

npm run dev

Your intelligent AI-powered career development platform that helps you advance your professional journey with personalized insights, resume building, interview preparation, and more.# or

yarn dev

---# or

pnpm dev

πŸ“‹ Table of Contents# or

bun dev

---- Next.js Documentation - learn about Next.js features and API.

🌟 Overview:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

SensAI is an AI-powered career development platform designed to help professionals accelerate their career growth. It combines cutting-edge AI technology with industry-specific insights to provide personalized career guidance, intelligent resume building, adaptive interview preparation, and AI-generated cover letters..

Deploy on Vercel:

Why SensAI?

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

  • 🎯 Personalized: Tailored to your industry, experience level, and career goals

  • πŸ€– AI-Powered: Leverages Google's Gemini AI for intelligent content generationCheck out our Next.js deployment documentation for more details.

  • πŸ“Š Data-Driven: Provides industry insights, salary trends, and market analysis

  • 🎨 Modern UI: Clean, responsive interface built with Next.js 15 and Tailwind CSS

  • πŸ”’ Secure: Enterprise-grade authentication with Clerk


✨ Features

🎯 Core Features

  1. Intelligent Resume Builder

    • Form-based and Markdown editor modes
    • Real-time preview
    • PDF export functionality
    • Auto-save capabilities
  2. AI Cover Letter Generator

    • Job-specific cover letters
    • Industry-tailored content
    • Editable markdown output
    • Multiple cover letter management
  3. Adaptive Interview Preparation

    • AI-generated interview questions
    • Performance tracking and analytics
    • Industry-specific question sets
    • Progress monitoring with charts
  4. Industry Insights Dashboard

    • Real-time salary data
    • Market trends analysis
    • Growth rate indicators
    • In-demand skills tracking
  5. Personalized Onboarding

    • Industry selection
    • Skills assessment
    • Experience level configuration
    • Professional bio creation

πŸ›  Tech Stack:

Frontend

  • Next.js 15.5.6 - React framework with App Router
  • React 19 - UI library
  • Tailwind CSS - Utility-first CSS framework
  • Shadcn/ui - Re-usable component library
  • MDEditor - Markdown editor for resumes/cover letters
  • Recharts - Data visualization
  • React Hook Form - Form management
  • Zod - Schema validation

Backend:

  • Next.js Server Actions - Server-side API handlers
  • Prisma ORM - Database toolkit
  • PostgreSQL - Primary database (Neon)
  • Clerk - Authentication & user management

AI & External Services:

  • Google Gemini AI - Content generation
  • Inngest - Background job processing
  • html2pdf.js - PDF generation

Developer Tools

  • ESLint - Code linting
  • PostCSS - CSS processing
  • Turbopack - Fast bundler

πŸš€ Getting Started

Prerequisites

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

Installation:

  1. Clone the repository

    git clone https://github.com/yourusername/sensai.git
    cd sensai
  2. Install dependencies

    npm install
  3. Set up environment variables

    Create a .env file in the root directory:

    # Database
    DATABASE_URL="postgresql://user:password@host:5432/sensai?sslmode=require"
    
    # Clerk Authentication
    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
    
    # Google Gemini AI
    GEMINI_API_KEY=your_gemini_api_key
    
    # Inngest (optional for background jobs)
    INNGEST_EVENT_KEY=your_inngest_event_key
    INNGEST_SIGNING_KEY=your_inngest_signing_key
  4. Set up the database

    npx prisma generate
    npx prisma migrate dev --name init
  5. Run the development server

    npm run dev
  6. Open your browser

    Navigate to http://localhost:3000


πŸ” Environment Variables:

Variable Description Required
DATABASE_URL PostgreSQL connection string βœ…
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY Clerk publishable key βœ…
CLERK_SECRET_KEY Clerk secret key βœ…
GEMINI_API_KEY Google Gemini AI API key βœ…
NEXT_PUBLIC_CLERK_SIGN_IN_URL Sign-in page URL βœ…
NEXT_PUBLIC_CLERK_SIGN_UP_URL Sign-up page URL βœ…
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL Redirect after sign-in βœ…
INNGEST_EVENT_KEY Inngest event key βšͺ
INNGEST_SIGNING_KEY Inngest signing key βšͺ

πŸ’Ύ Database Setup

Using Neon (Recommended)

  1. Create a free account at Neon
  2. Create a new project
  3. Copy the connection string
  4. Add it to your .env file as DATABASE_URL

Using Local PostgreSQL

  1. Install PostgreSQL locally
  2. Create a database:
    CREATE DATABASE sensai;
  3. Update the DATABASE_URL in .env:
    DATABASE_URL="postgresql://postgres:password@localhost:5432/sensai"

Database Schema:

The project uses Prisma with the following main models:

  • User - User profiles with industry and experience data
  • Assessment - Interview quiz results and scores
  • Resume - Resume content and metadata
  • CoverLetter - AI-generated cover letters
  • IndustryInsight - Industry trends and salary data

πŸ“ Project Structure

sensai/
β”œβ”€β”€ actions/              # Server actions
β”‚   β”œβ”€β”€ cover-letter.js
β”‚   β”œβ”€β”€ dashboard.js
β”‚   β”œβ”€β”€ interview.js
β”‚   β”œβ”€β”€ resume.js
β”‚   └── user.js
β”œβ”€β”€ app/                  # Next.js app directory
β”‚   β”œβ”€β”€ (auth)/          # Authentication routes
β”‚   β”‚   β”œβ”€β”€ sign-in/
β”‚   β”‚   └── sign-up/
β”‚   β”œβ”€β”€ (main)/          # Main application routes
β”‚   β”‚   β”œβ”€β”€ dashboard/
β”‚   β”‚   β”œβ”€β”€ onboarding/
β”‚   β”‚   β”œβ”€β”€ resume/
β”‚   β”‚   β”œβ”€β”€ ai-cover-letter/
β”‚   β”‚   └── interview/
β”‚   β”œβ”€β”€ api/             # API routes
β”‚   β”œβ”€β”€ lib/             # Utilities and helpers
β”‚   β”œβ”€β”€ globals.css
β”‚   └── layout.js
β”œβ”€β”€ components/          # React components
β”‚   β”œβ”€β”€ ui/             # Shadcn UI components
β”‚   β”œβ”€β”€ header.jsx
β”‚   └── hero.jsx
β”œβ”€β”€ data/               # Static data
β”œβ”€β”€ hooks/              # Custom React hooks
β”œβ”€β”€ lib/                # Shared utilities
β”œβ”€β”€ prisma/             # Database schema
β”‚   β”œβ”€β”€ schema.prisma
β”‚   └── migrations/
β”œβ”€β”€ public/             # Static assets
β”œβ”€β”€ .env               # Environment variables
β”œβ”€β”€ package.json
└── README.md

🎨 Key Features Explained

1. Onboarding Flow

New users go through a personalized onboarding process:

  • Select industry and specialization
  • Input years of experience
  • Add professional skills
  • Write a brief bio

This information is used to personalize all AI-generated content.

2. Resume Builder

Two Editing Modes:

  • Form Mode: Structured form with sections for contact info, summary, skills, experience, education, and projects
  • Markdown Mode: Direct markdown editing with live preview

Features:

  • Real-time preview updates
  • PDF export with custom formatting
  • Auto-save functionality
  • Markdown syntax support

3. Cover Letter Generator

Workflow:

  1. Enter job title, company name, and job description
  2. AI generates a tailored cover letter based on your profile
  3. Edit the generated content in markdown
  4. Save or export as needed

4. Interview Preparation:

Features:

  • AI-generated interview questions based on your industry
  • Multiple-choice quiz format
  • Performance tracking and analytics
  • Progress charts showing improvement over time
  • Industry-specific question categories

5. Dashboard Insights

Real-time data visualization showing:

  • Industry salary ranges by role
  • Market growth rates
  • Demand levels (High/Medium/Low)
  • Top skills in your industry
  • Recommended skills to learn
  • Career outlook trends

πŸ”Œ API Routes:

Server Actions:

All API interactions use Next.js Server Actions:

  • updateUser(data) - Update user profile
  • generateCoverLetter(data) - Generate AI cover letter
  • saveResume(content) - Save resume content
  • generateAIInsights(industry) - Get industry insights
  • getIndustryInsights() - Fetch saved insights

Inngest Background Jobs:

  • Weekly industry insights updates
  • Automated data refresh
  • AI content generation queues

🎯 Usage Examples

Creating a Resume

// Navigate to /resume
// Fill in the form or use markdown editor
// Preview in real-time
// Click "Save" to persist
// Click "Download PDF" to export

Generating a Cover Letter

// Navigate to /ai-cover-letter/new
// Enter job details
// AI generates personalized content
// Edit and save

Taking Mock Interviews

// Navigate to /interview/mock
// Select quiz category
// Answer questions
// View detailed results and tips

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Code Style

  • Follow ESLint rules
  • Use Prettier for formatting
  • Write meaningful commit messages
  • Add comments for complex logic

πŸ‘¨β€πŸ’» Author:

Md Ashad


πŸ™ Acknowledgments


πŸ“ž Support

For support, email support@sensai.com or open an issue on GitHub.


πŸ—Ί Roadmap:

  • Multi-language support
  • LinkedIn integration
  • Job board integration
  • AI-powered skill gap analysis
  • Career path recommendations
  • Networking features
  • Mobile app

Made with ❀️ by Md Ashad

⭐ Star this repo if you find it helpful!

About

SensAI is an AI-powered career development platform designed to help professionals accelerate their career growth. It combines cutting-edge AI technology with industry-specific insights to provide personalized career guidance, intelligent resume building, adaptive interview preparation, and AI-generated cover letters..

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors