How saadferozee/nexthire works
NextHire is an AI interview-preparation and job-search platform. Users enter through account and dashboard screens, then use resume scoring, job-description keyword analysis, interview practice, and application tracking; saved scores and sessions support history and analytics. The API routes implement the sampled AI and persistence flows, while Stripe handles subscription checkout and webhook updates. README capabilities and route names support the broader feature map, but UI-to-API wiring is not shown in the sampled source, so those connections are omitted.
Main entry points: mongodb.ts MongoDB · checkout/route.ts Subscription checkout · resume-score/route.ts Resume scoring · keyword-gap-analysis/route.ts Keyword gap analysis
Components 25
User experience
- Sign in / sign up
app/(auth)/sign-in/page.tsx - Dashboard
app/(dashboard)/dashboard/page.tsx - Resume scorer
app/(dashboard)/dashboard/resume-scorer/page.tsx - Keyword analysis
app/(dashboard)/dashboard/keyword-gap-analysis/page.tsx - Mock interview
app/(dashboard)/dashboard/mock-interview/page.tsx - Video interview
app/(dashboard)/dashboard/video-interaction/page.tsx - Application tracker
app/(dashboard)/dashboard/tracker/page.tsx
Career preparation
- Resume scoring
app/api/resume-score/route.ts - Keyword gap analysis
app/api/keyword-gap-analysis/route.ts - Mock interview API
app/api/mock-interview/route.ts - Video interview API
app/api/video-interview/route.ts - Practice questions
app/api/practice_question/route.ts - Speech transcription
app/api/transcribe/route.ts - Streaming chat
app/api/chat/route.ts
Platform APIs
- History and analytics
app/api/resume-history/route.ts - Application records
app/api/applications/route.ts - User profile API
app/api/users/route.ts - Subscription checkout
app/api/stripe/checkout/route.ts - Subscription updates
app/api/stripe/webhook/route.ts
Persistent state
- MongoDB
lib/mongodb.ts
External services
- Firebase Auth
app/firebase/config.js - Firebase Admin
lib/firebase-admin.ts - AI model services
- Stripe
lib/stripe.ts
Other components
- Job seeker
Connections 24
- Job seeker → Sign in / sign up: signs in
- Job seeker → Dashboard: uses
- Job seeker → Resume scorer: requests scoring
- Job seeker → Keyword analysis: compares resume
- Job seeker → Mock interview: practices
- Job seeker → Video interview: practices aloud
- Job seeker → Application tracker: tracks applications
- Resume scoring → AI model services: analyzes resume
- Resume scoring → MongoDB: saves score
- Keyword gap analysis → AI model services: analyzes match
- Keyword gap analysis → MongoDB: saves analysis
- Mock interview API → AI model services: generates and evaluates
- Mock interview API → MongoDB: saves session
- Video interview API → AI model services: generates and evaluates
- Video interview API → MongoDB: saves session
- Streaming chat → AI model services: streams completion
- History and analytics → MongoDB: reads scores
- Application records → MongoDB: reads and writes
- User profile API → MongoDB: reads and writes
- Subscription checkout → Firebase Admin: verifies token
- Subscription checkout → MongoDB: reads and updates user
- Subscription checkout → Stripe: creates checkout
- Subscription updates → Stripe: verifies and retrieves
- Subscription updates → MongoDB: updates subscription