Skip to content
aliammari1Public

About

๐Ÿš€ AI-powered interview preparation platform with mock interviews, CV builder, code challenges & more. Built with Next.js 15, TypeScript, Prisma & cutting-edge AI. Land your dream job!

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

119 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

JobPrep โ€” open-source AI interview-prep platform

JobPrep

The open-source AI interview-prep platform โ€” multi-LLM mock interviews, BYOK, self-host, no subscription

A free, self-hostable alternative to Final Round AI, Interview Coder & Pramp. Bring your own API key (Claude / GPT / Gemini) or run 100% local & offline with Ollama. Your data stays yours.

Try it (BYOK) ย  Deploy to Cloudflare ย  โญ Star this repo

CI CodeQL OpenSSF Scorecard Next.js 15 React 19 License: Source-Available

โ–ถ 60-second demo โ€” GIF coming soon (see BANNER.md for the recording brief).
JobPrep desktop


Why JobPrep vs. paid interview-prep tools

Most interview-prep tools lock you into one AI vendor, charge a monthly subscription, and keep your practice data on their servers. JobPrep flips all three.

JobPrep Final Round AI / Interview Coder / Pramp
Price $0 โ€” self-host / BYOK ~$96โ€“$149 / month
AI models Claude ยท GPT ยท Gemini ยท Ollama (swap per request) Single vendor, fixed
API keys Bring your own (or run local) Vendor-controlled
Self-host โœ… Cloudflare / Docker / your box โŒ
Run offline / local โœ… Ollama, fully private โŒ
Source code โœ… Source-available, auditable โŒ Closed
Your data โœ… Stays in your own DB โŒ On their servers
Mock interviews โœ… Live video (LiveKit) + AI feedback โœ…
CV builder + coding arena โœ… Included Partial / extra

The pitch in one line: the practice quality of a $149/mo product, for $0, with your keys and your data.


โšก Try it in minutes (BYOK)

No vendor account, no subscription โ€” just your own API key (or none, with local Ollama):

git clone https://github.com/aliammari1/JobPrep.git && cd JobPrep
bun install
cp .env.example .env          # add ONE key: provider credential (or OPENAI / GEMINI)
bun run prisma:generate && bun run prisma:migrate
bun run dev                   # โ†’ http://localhost:3000

Zero API keys? Set AI_COACH_DEFAULT_MODEL=ollama:llama3.2 and run a local Ollama โ€” JobPrep then runs fully offline and private. The only required vars are DATABASE_URL + BETTER_AUTH_SECRET; everything else (AI, video, billing) is optional and feature-gated.

๐Ÿงฑ Use it as a starter

JobPrep is a GitHub template repository โ€” hit Use this template to spin up your own multi-LLM interview-prep app (or any BYOK AI product) with auth, billing, Prisma, rate-limiting and observability already wired. Then deploy your own copy:

Deploy to Cloudflare

The web app runs on Cloudflare Workers/Pages (see docs/DEPLOYMENT.md); the long-running LiveKit avatar agent runs on a container next to LiveKit Cloud.


๐ŸŽฏ What's inside

  • ๐Ÿค– Multi-LLM AI coach โ€” Claude, GPT-4, Gemini, or local Ollama, switchable per request (BYOK)
  • ๐ŸŽฅ Live video mock interviews โ€” LiveKit WebRTC + AI feedback on answers, tone & body language
  • ๐Ÿ“„ ATS-friendly CV builder โ€” 3 templates, LinkedIn import (Chrome extension), multi-format export
  • ๐Ÿ’ป Coding arena โ€” practice in 15+ languages with instant evaluation
  • โœ๏ธ AI cover letters tailored to a job description
  • ๐Ÿ“Š Progress analytics + ๐Ÿ” passkey auth & 2FA

๐Ÿค” Provider-agnostic AI (how BYOK works)

The AI Coach resolves a model at request time from a single <provider>:<model> id, so you switch between Claude, GPT, Gemini, or a self-hosted Ollama model โ€” including fully local/offline โ€” without touching any feature code.

Wantโ€ฆ Pick
Fast & cheap (default) anthropic:claude-haiku-4-5
Highest quality anthropic:claude-sonnet-4-5 / openai:gpt-4o
Free/local & private ollama:llama3.2
# Stream a coaching reply (omit "model" to use the default)
curl -N -X POST http://localhost:3000/api/ai/coach \
  -H 'content-type: application/json' \
  -d '{"messages":[{"role":"user","content":"STAR-review my answer"}],"model":"anthropic:claude-haiku-4-5"}'

List available models at GET /api/ai/models. Adding a new provider is a three-line change in src/lib/ai/providers.ts.


๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                         Frontend Layer                          โ”‚
โ”‚  Next.js 15 โ€ข React 19 โ€ข TypeScript โ€ข Tailwind CSS โ€ข shadcn/ui โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                         โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      API Routes Layer                           โ”‚
โ”‚     /api/ai โ€ข /api/interviews โ€ข /api/cv โ€ข /api/challenges      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                         โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    AI Services Layer                            โ”‚
โ”‚   Gemini โ€ข OpenAI โ€ข Claude โ€ข Ollama โ€ข HeyGen โ€ข MediaPipe       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                         โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                   Real-time Services                            โ”‚
โ”‚        LiveKit (Video) โ€ข Liveblocks โ€ข Socket.io                โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                         โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    Data & Storage Layer                         โ”‚
โ”‚   PostgreSQL (Prisma) โ€ข Appwrite โ€ข Cloudinary โ€ข Stripe         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐ŸŒŸ Features

๐ŸŽค AI Mock Interviews

Feature Description
Multi-AI Support Choose between Gemini, GPT-4, Claude, or local Ollama
Real-time Video LiveKit-powered HD video/audio with screen sharing
Smart Questions AI generates role-specific technical & behavioral questions
Instant Feedback Get detailed analysis of answers, tone, and body language
Voice Analysis Speech-to-text transcription with emotion detection
Recording Save interviews for review and improvement tracking
Scheduling Google Calendar integration for practice sessions

๐Ÿ“„ CV Builder

Feature Description
3 Templates Professional, modern, and creative ATS-optimized designs
LinkedIn Import Chrome extension auto-fills CV from LinkedIn profile
Smart Suggestions AI-powered improvements for bullet points and keywords
Multi-format Export PDF, DOCX, JSON with customizable styling
Version Control Save multiple versions, track changes over time
Real-time Preview Live updates as you type with mobile-responsive view

๐Ÿ’ป Code Challenges

Feature Description
15+ Languages Java, Python, JavaScript, C++, Go, Rust, and more
Difficulty Levels Easy, Medium, Hard with curated problem sets
Real-time Execution Piston API-powered instant code evaluation
Test Cases Run against multiple test cases with detailed feedback
Leaderboard Compete with others, track rankings and statistics
Time Tracking Practice under interview conditions with timers

โœ๏ธ Cover Letter Generator

AI-powered cover letter creation tailored to job descriptions using Gemini & GPT-4 with customizable tone and multiple revisions.

๐Ÿ”Œ Chrome Extension

One-click LinkedIn CV import - automatically extracts work experience, education, skills, and certifications into JobPrep format.


๐Ÿ› ๏ธ Technology Stack

Frontend

  • Next.js 15.5 - React framework with App Router & Server Components
  • React 19.1 - UI library with React Compiler
  • TypeScript 5 - Type safety
  • Tailwind CSS 4.0 - Utility-first styling
  • shadcn/ui - Beautiful accessible components
  • Framer Motion - Smooth animations

Backend

  • Node.js 20+ - JavaScript runtime
  • Prisma 6.17 - Type-safe ORM
  • PostgreSQL - Primary database
  • Better Auth 1.3 - Authentication with passkeys & 2FA

AI & ML

  • Google Gemini - Primary AI for interviews & CV analysis
  • OpenAI GPT-4 - Advanced reasoning & code evaluation
  • Anthropic Claude - Alternative AI provider
  • Ollama - Local AI models (optional)
  • HeyGen - AI avatar generation
  • MediaPipe - Body language & emotion analysis

Real-time & Media

  • LiveKit - WebRTC video/audio conferencing
  • Socket.io - Real-time notifications
  • Liveblocks - Collaborative features

Storage & Services

  • Appwrite - File storage & backend services
  • Cloudinary - Image optimization & CDN
  • Stripe - Payment processing & subscriptions

Document Processing

  • pdf-lib - PDF manipulation
  • mammoth - DOCX parsing

Code Execution

  • Piston API - Multi-language code runner (15+ languages)

๐Ÿš€ Quick Start

See โšก Try it in minutes (BYOK) above for the 2-minute path. Prerequisites: Bun 1.x (this repo is Bun, not npm/pnpm), PostgreSQL 14+, Git. Optional: uv for the Python avatar agent in functions/.

Environment variables: the canonical, commented list lives in .env.example. Only DATABASE_URL + BETTER_AUTH_SECRET are required; AI providers (BYOK), LiveKit video, Stripe billing, Upstash rate-limiting and Sentry are all optional and feature-gated.


๐Ÿ“ Project Structure

JobPrep/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ app/                    # Next.js App Router
โ”‚   โ”‚   โ”œโ”€โ”€ (auth)/            # Auth pages (login, register)
โ”‚   โ”‚   โ”œโ”€โ”€ (dashboard)/       # Protected dashboard routes
โ”‚   โ”‚   โ”œโ”€โ”€ api/               # API routes (35+ endpoints)
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ai/           # AI chat & processing
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ interviews/   # Mock interview endpoints
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ cv/           # CV builder & export
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ challenges/   # Code challenge submission
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ livekit/      # Video conferencing
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ stripe/       # Payment webhooks
โ”‚   โ”‚   โ””โ”€โ”€ layout.tsx        # Root layout
โ”‚   โ”œโ”€โ”€ components/            # React components (150+)
โ”‚   โ”‚   โ”œโ”€โ”€ ui/               # shadcn/ui components
โ”‚   โ”‚   โ”œโ”€โ”€ interviews/       # Interview-related components
โ”‚   โ”‚   โ”œโ”€โ”€ cv/               # CV builder components
โ”‚   โ”‚   โ””โ”€โ”€ challenges/       # Code editor components
โ”‚   โ”œโ”€โ”€ lib/                  # Utilities & helpers
โ”‚   โ”‚   โ”œโ”€โ”€ prisma.ts        # Database client
โ”‚   โ”‚   โ”œโ”€โ”€ auth.ts          # Auth configuration
โ”‚   โ”‚   โ””โ”€โ”€ ai/              # AI service integrations
โ”‚   โ””โ”€โ”€ styles/              # Global styles
โ”œโ”€โ”€ prisma/
โ”‚   โ””โ”€โ”€ schema.prisma        # Database schema (25+ models)
โ”œโ”€โ”€ chrome-extension/        # LinkedIn CV importer
โ”‚   โ”œโ”€โ”€ manifest.json
โ”‚   โ”œโ”€โ”€ content.js          # LinkedIn scraper
โ”‚   โ””โ”€โ”€ popup.html          # Extension UI
โ”œโ”€โ”€ public/                 # Static assets
โ””โ”€โ”€ package.json           # Dependencies (80+)

๐Ÿ’พ Database Schema

model User {
  id            String          @id @default(cuid())
  email         String          @unique
  name          String?
  image         String?
  interviews    Interview[]
  cvs           CV[]
  submissions   Submission[]
  subscription  Subscription?
  createdAt     DateTime        @default(now())
}

model Interview {
  id            String              @id @default(cuid())
  userId        String
  user          User                @relation(fields: [userId], references: [id])
  jobTitle      String
  jobDescription String
  difficulty    Difficulty
  aiProvider    AIProvider
  questions     Question[]
  responses     InterviewResponse[]
  recordingUrl  String?
  score         Float?
  feedback      String?
  status        InterviewStatus     @default(PENDING)
  scheduledAt   DateTime?
  completedAt   DateTime?
  createdAt     DateTime            @default(now())
}

model CV {
  id            String      @id @default(cuid())
  userId        String
  user          User        @relation(fields: [userId], references: [id])
  template      String
  personalInfo  Json
  experience    Json[]
  education     Json[]
  skills        Json[]
  certifications Json[]
  createdAt     DateTime    @default(now())
  updatedAt     DateTime    @updatedAt
}

model Challenge {
  id            String       @id @default(cuid())
  title         String
  description   String
  difficulty    Difficulty
  language      String
  testCases     Json[]
  submissions   Submission[]
  tags          String[]
  createdAt     DateTime     @default(now())
}

model Subscription {
  id            String   @id @default(cuid())
  userId        String   @unique
  user          User     @relation(fields: [userId], references: [id])
  plan          Plan
  status        String
  stripeId      String   @unique
  currentPeriodEnd DateTime
}

๐ŸŽจ Screenshots

๐Ÿ–ฅ๏ธ Desktop Experience

Desktop Full desktop dashboard experience

๐Ÿ“ฑ Mobile Experience

Mobile Responsive mobile interface


๐Ÿ” Security

  • ๐Ÿ”’ Modern auth โ€” Better Auth with passkeys & 2FA
  • ๐Ÿšซ Rate limiting โ€” Upstash sliding-window limits on the AI + LiveKit endpoints when Redis is configured (src/lib/rate-limit.ts)
  • ๐Ÿงฐ Typed env โ€” boot-time validation via @t3-oss/env-nextjs + Zod (src/env.ts)
  • ๐Ÿ“‹ Security headers / CSP โ€” HSTS, X-Frame-Options, script-src without unsafe-eval in prod (next.config.mjs)
  • ๐Ÿ’ณ Idempotent Stripe webhooks โ€” duplicate-delivery ledger so retries are safe
  • ๐Ÿ“ˆ Observability โ€” Sentry + OpenTelemetry, with AI-SDK telemetry (token/cost) โ€” all no-ops unless configured
  • โœ… SQL-injection resistant (Prisma) ยท XSS mitigation (React/CSP); route-specific CSRF and authorization review remains in progress
  • ๐Ÿ”Ž Automated scanning โ€” CodeQL, gitleaks, Trivy, dependency-review + OpenSSF Scorecard in CI

๐Ÿ“– API Reference

  • Interactive (Scalar): run the app and open /api-docs.
  • OpenAPI document: /api/openapi (also generated to openapi.json via bun run openapi:generate).
  • New endpoints are documented by adding a @swagger JSDoc block above the route handler โ€” next-swagger-doc picks them up automatically.

โ˜๏ธ Deploy to Cloudflare

Deploy to Cloudflare

The Next.js app deploys to Cloudflare via @opennextjs/cloudflare, with PostgreSQL reached through Hyperdrive. Config lives in wrangler.jsonc + open-next.config.ts; deployment is gated behind a manual workflow.

bun add -D @opennextjs/cloudflare
bunx @opennextjs/cloudflare build
bunx wrangler deploy

โš ๏ธ Two-part deploy. The Python LiveKit/Simli avatar agent (functions/) is a long-running WebRTC process โ€” it cannot run on Cloudflare Workers. The web app runs on Cloudflare; the agent runs on a container next to LiveKit Cloud (free Build tier). Full host comparison (LiveKit Cloud agents, Railway, Render, Fly.io, Koyeb โ€” researched for 2026) is in docs/DEPLOYMENT.md.

More docs: Deployment ยท Architecture ยท Chrome Web Store publishing ยท Banner / social preview ยท Launch checklist


๐Ÿงญ Engineering Decisions

  • Bun + Biome (no ESLint/Prettier). One fast toolchain for install, lint, and format; biome ci runs in CI with a blocking format check.
  • Source-Available license kept (SPDX LicenseRef-Source-Available-1.0) โ€” JobPrep is a commercial product, not a permissive OSS sample.
  • Provider-agnostic AI on the Vercel AI SDK with a model registry, rather than hard-wiring one vendor โ€” enables Claude/GPT/Gemini/Ollama and offline use.
  • Hyperdrive, not D1, for the database: the Prisma schema is Postgres-specific and Better-Auth uses the Postgres adapter, so a SQLite port would be high-risk.
  • Lazy Stripe init so next build doesn't require live billing keys in CI.
  • Scoped, ratcheting test coverage instead of a global 80% gate that failed CI.
  • Avatar agent on a container (uv + ruff + pytest), honestly documented as a non-Workers workload.

๐Ÿ—บ๏ธ Roadmap

โœ… Completed (v1.0)

  • AI-powered mock interviews with multi-provider support
  • Professional CV builder with 3 templates
  • Code challenge arena (15+ languages)
  • Chrome extension for LinkedIn import
  • Real-time video interviews (LiveKit)
  • Stripe payment integration
  • Dashboard & analytics

๐Ÿšง In Progress (v1.1 - Q1 2026)

  • ๐ŸŽ“ AI interview coaching with personalized tips
  • ๐Ÿ“Š Advanced analytics & skill gap analysis
  • ๐ŸŽฎ Gamification & achievement system
  • ๐ŸŒ Multi-language support (i18n)
  • ๐Ÿ“ฑ Mobile responsive improvements

๐Ÿ”ฎ Planned (v2.0 - Q2 2026)

  • ๐Ÿฅฝ VR Interview simulation
  • ๐Ÿ“ฑ iOS & Android mobile apps
  • ๐Ÿ‘ฅ Peer interview matching
  • ๐ŸŽ“ Interview coaching marketplace
  • ๐Ÿง  Emotion detection & personality analysis
  • ๐Ÿข Company-specific prep (FAANG, startups)
  • ๐Ÿค ATS integration & job application tracking

๐Ÿค Contributing

Contributions are welcome! See our Contributing Guide for details.

# Fork & clone
git clone https://github.com/YOUR_USERNAME/JobPrep.git

# Create branch
git checkout -b feature/amazing-feature

# Commit changes
git commit -m 'feat: add amazing feature'

# Push & create PR
git push origin feature/amazing-feature

Commit Convention

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation
  • refactor: Code refactoring
  • test: Adding tests
  • chore: Maintenance

๐Ÿ“„ License

This project is licensed under the Source-Available License 1.0 (SPDX: LicenseRef-Source-Available-1.0).

  • Free for: Personal use, education, research, non-profits, and security research
  • Commercial use: Requires a Commercial License. Contact ammari.ali.0001@gmail.com

This is a source-available license. It is NOT an Open Source Initiative (OSI) approved open-source license.

Copyright (c) 2026 Ali Ammari


๐Ÿ‘จโ€๐Ÿ’ป Author

Ali Ammari

GitHub LinkedIn Twitter Website

Full-Stack Developer | AI Enthusiast | Open Source Contributor


๐Ÿ™ Acknowledgments

Special thanks to:


โญ Support

If JobPrep saves you a $149/mo subscription, the best thank-you is a star:

โญ Star JobPrep

  • โญ Star the repo so others discover the free alternative
  • ๐Ÿฆ Share it with anyone grinding interviews
  • โ˜• Buy me a coffee

๐Ÿ”— Related open-source projects

Part of a wider open-source ecosystem โ€” if JobPrep is useful, these might be too:

  • ๐Ÿ“š readrealm โ€” open-source AI book-chat (Speechify / Blinkist alternative)
  • ๐Ÿฉบ pulmocare โ€” open-source, self-hostable chest-X-ray AI agent
  • ๐Ÿ“Š github-traffic-analytics โ€” keep your repo traffic past GitHub's 14-day window
  • ๐Ÿงฐ awesome-ai-tools โ€” a curated index of ~400 AI tools

๐Ÿ“ˆ Star History

Star History Chart


Built with โค๏ธ by Ali Ammari

Helping job seekers land their dream jobs, one interview at a time ๐Ÿš€


About

๐Ÿš€ AI-powered interview preparation platform with mock interviews, CV builder, code challenges & more. Built with Next.js 15, TypeScript, Prisma & cutting-edge AI. Land your dream job!

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages