The problem
Hiring teams lose candidates in spreadsheets and screen resumes inconsistently, with no shared pipeline or audit trail.
How it works
A monorepo web app manages the candidate pipeline while background workers handle resume parsing and Claude-based scoring. Seed data ships with role-based test accounts for admin, recruiter, hiring manager and interviewer.
Architecture
Browser (Next.js 15) -> API routes (NextAuth) -> Prisma / PostgreSQL + BullMQ workers (Redis) -> Claude scoring, S3 (MinIO) docs, Slack notifications
Highlights
- AI resume screening: Claude evaluates uploaded resumes against job requirements and produces a structured fit score with reasoning.
- Drag-and-drop Kanban pipeline from Applied through Offer with stage-level analytics.
- Background job system (BullMQ + Redis) for async document processing, email and webhooks.
- EEO/OFCCP compliance tracking built into the pipeline.
- Turborepo monorepo with a shared Prisma schema, types and validators across the web app and workers.