A full-stack recruiting CRM to track job applications, OA deadlines, interviews, recruiter calls, and follow-ups in one slick dashboard.
Tech Stack: Next.js 16 · PostgreSQL · Prisma · Tailwind CSS v4 · TypeScript
- Pipeline View — Visual circuit-board stage tracker per application (Wishlist → Applied → OA → Phone Screen → Technical → Onsite → Offer)
- Application Board — Grid/list view with search, priority filter, and urgency indicators
- Event Timeline — Per-application event log with OA, interviews, recruiter calls, follow-ups, deadlines
- Contacts — Store recruiters, hiring managers, and interviewers per application
- Calendar View — Monthly calendar showing all scheduled events
- Dashboard — Stats cards (response rate, active pipeline, offers) + upcoming events strip
- Status Management — One-click status updates with full audit trail
- Overdue Detection — Auto-highlights overdue tasks and upcoming deadlines
- Node.js 18+
- PostgreSQL running locally (or a connection string from Supabase / Neon / Railway)
git clone <your-repo>
cd interview-tracker
npm installcp .env.example .envEdit .env and set your database URL:
DATABASE_URL="postgresql://postgres:password@localhost:5432/interview_tracker"# Generate Prisma client
npx prisma generate
# Push schema to your database
npx prisma db push
# (Optional) Seed with sample data
npx prisma db seednpm run devApplication
├── id, company, role, location, jobUrl, salary
├── status (WISHLIST → APPLIED → OA → PHONE_SCREEN → TECHNICAL → ONSITE → OFFER | REJECTED | WITHDRAWN)
├── priority (LOW | MEDIUM | HIGH | DREAM)
├── appliedAt, updatedAt, notes
├── events[] → Event (type, title, scheduledAt, deadline, completed, notes)
└── contacts[] → Contact (name, role, email, linkedin, notes)
| Command | Description |
|---|---|
npm run dev |
Start dev server |
npm run build |
Production build |
npx prisma studio |
Visual DB browser |
npx prisma db push |
Sync schema to DB |
npx prisma db seed |
Load sample data |
Deploy to Vercel with a managed Postgres (Supabase / Neon / Railway):
- Push to GitHub
- Import project on Vercel
- Add
DATABASE_URLenvironment variable - Run
npx prisma db pushagainst production DB - Deploy ✓