Job platform and autofill extension
LLM résumé parsing with function calling and Zod validation, plus a Manifest V3 extension that fills applications on 300+ platforms.
- 300+
- application platforms
- −75%
- query latency after Postgres tuning
- 500+
- real résumés in the test set
Context
Blinkle AI helps job seekers find roles and apply faster. I worked across the stack: APIs, an LLM parsing pipeline, a browser extension, and database performance.
How it works
- 1
APIs
Job aggregation and application-tracking APIs in TypeScript, NestJS, Prisma, and AWS.
- 2
Parse résumés
An LLM pipeline extracts 30+ profile fields from PDF and DOCX files using function calling and Zod validation, tested on 500+ real résumés.
- 3
Autofill
A Manifest V3 Chrome extension in TypeScript and React fills applications on 300+ platforms, with per-ATS adapters and an LLM fallback for custom screening questions.
- 4
Speed up the data layer
Indexing, partitioning, and materialized views in PostgreSQL, plus Redis caching for hot jobs and sessions, cut query latency by 75% and database load by 40%.
Key decisions
Adapters first, LLM as the fallback
Deterministic per-ATS adapters handle known forms; the LLM only steps in for custom screening questions.
Validate model output like user input
Function calling gives the output structure; Zod validation checks every parsed field before it is used.
Stack
- TypeScript
- NestJS
- Prisma
- AWS
- React
- Chrome extension (MV3)
- Zod
- PostgreSQL
- Redis