Caliber
Upload a resume and a job description, get a score and some reasoning back. Built to see if an LLM could actually do a recruiter’s first pass reliably.

Problem
The first pass of reading a resume is mostly checking qualifications, experience, and domain skills. I wanted to see if LLMs could evaluate candidates with structured rubrics rather than generic vibe checks.
Approach
Rebuilt from scratch with React and Supabase. It extracts text from PDFs, evaluates key criteria against the JD via Gemini, and stores candidate scorecards behind Postgres Row-Level Security.
Key decisions
- 01
Dropping n8n webhooks
The original prototype relied on third-party webhooks that expired. Rebuilding with custom serverless functions made it fast and reliable.
- 02
Database isolation
Implemented Row Level Security in Postgres so candidate resumes and scores are strictly protected.
- 03
Benchmarking consistency
Evaluated against a test set of 12 labeled CVs to fine-tune the prompt rubric, achieving high agreement with human screening.
Outcome
Live app with candidate dashboard, candidate rubric scoring, and structured interview feedback.