SensAI - AI Career Coach πThis is a Next.js project bootstrapped with create-next-app.
First, run the development server:
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
bun dev
-
Overview``
-
Tech StackOpen http://localhost:3000 with your browser to see the result.
-
Environment VariablesYou can start editing the page by modifying
app/page.js. The page auto-updates as you edit the file. -
Project StructureThis project uses
next/fontto automatically optimize and load Geist, a new font family for Vercel. -
API Routes## Learn More
-
LicenseTo learn more about Next.js, take a look at the following resources:
---- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
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..
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
-
Intelligent Resume Builder
- Form-based and Markdown editor modes
- Real-time preview
- PDF export functionality
- Auto-save capabilities
-
AI Cover Letter Generator
- Job-specific cover letters
- Industry-tailored content
- Editable markdown output
- Multiple cover letter management
-
Adaptive Interview Preparation
- AI-generated interview questions
- Performance tracking and analytics
- Industry-specific question sets
- Progress monitoring with charts
-
Industry Insights Dashboard
- Real-time salary data
- Market trends analysis
- Growth rate indicators
- In-demand skills tracking
-
Personalized Onboarding
- Industry selection
- Skills assessment
- Experience level configuration
- Professional bio creation
- 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
- Next.js Server Actions - Server-side API handlers
- Prisma ORM - Database toolkit
- PostgreSQL - Primary database (Neon)
- Clerk - Authentication & user management
- Google Gemini AI - Content generation
- Inngest - Background job processing
- html2pdf.js - PDF generation
- ESLint - Code linting
- PostCSS - CSS processing
- Turbopack - Fast bundler
- Node.js 18+ installed
- PostgreSQL database (or Neon account)
- Clerk account for authentication
- Google Gemini API key
-
Clone the repository
git clone https://github.com/yourusername/sensai.git cd sensai -
Install dependencies
npm install
-
Set up environment variables
Create a
.envfile 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
-
Set up the database
npx prisma generate npx prisma migrate dev --name init
-
Run the development server
npm run dev
-
Open your browser
Navigate to http://localhost:3000
| 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 | βͺ |
- Create a free account at Neon
- Create a new project
- Copy the connection string
- Add it to your
.envfile asDATABASE_URL
- Install PostgreSQL locally
- Create a database:
CREATE DATABASE sensai;
- Update the
DATABASE_URLin.env:DATABASE_URL="postgresql://postgres:password@localhost:5432/sensai"
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
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
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.
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
Workflow:
- Enter job title, company name, and job description
- AI generates a tailored cover letter based on your profile
- Edit the generated content in markdown
- Save or export as needed
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
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
All API interactions use Next.js Server Actions:
updateUser(data)- Update user profilegenerateCoverLetter(data)- Generate AI cover lettersaveResume(content)- Save resume contentgenerateAIInsights(industry)- Get industry insightsgetIndustryInsights()- Fetch saved insights
- Weekly industry insights updates
- Automated data refresh
- AI content generation queues
// Navigate to /resume
// Fill in the form or use markdown editor
// Preview in real-time
// Click "Save" to persist
// Click "Download PDF" to export// Navigate to /ai-cover-letter/new
// Enter job details
// AI generates personalized content
// Edit and save// Navigate to /interview/mock
// Select quiz category
// Answer questions
// View detailed results and tipsWe welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow ESLint rules
- Use Prettier for formatting
- Write meaningful commit messages
- Add comments for complex logic
Md Ashad
- GitHub: @yourusername
- Next.js - The React Framework
- Clerk - Authentication
- Prisma - Database ORM
- Shadcn/ui - Component Library
- Google Gemini - AI Generation
- Neon - Serverless PostgreSQL
For support, email support@sensai.com or open an issue on GitHub.
- 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!