2026
Job Tracker
Capture a job offer, analyze it, generate a tailored CV and cover letter, then track the application until the reply.

The challenge
Applying at scale breaks down in the manual work between finding an offer and sending it. Each posting has to be read, matched to the right background, then turned into a CV and a cover letter. After that, dates, follow-ups, and replies are easy to lose across tabs and spreadsheets. The product had to stay one place to decide, produce, and track — with the browser extension as the way in, not a second app to maintain.
My approach
The app is a Next.js and TypeScript product on PostgreSQL (Prisma), with Better Auth (Google and email), Tailwind CSS, and shadcn/ui. An offer enters through a Chrome extension, authenticated with a hashed API key and a strict CORS allowlist. Creation starts an async analysis: a webhook sends the raw posting to an agent, which posts a structured result back (summary, missions, skills, contract, location). The same pattern generates the CV and the cover letter from the analysis plus a saved profile — experiences, projects, education, skills — without inventing facts that are not in the profile. The JSON is rendered to DOCX and stored, with an optional export to Google Drive. Each application moves through an explicit status machine, from imported to accepted or archived. The record also holds the offer, the analysis, the linked profile, documents, contacts, a short journal, and the next action (mark as sent, follow up, prepare the interview). The dashboard aggregates counts, the status breakdown, recent activity, and what is due today.
The result
One flow replaces the copy-paste loop. An offer captured in the browser becomes an analyzed application, a tailored CV and cover letter, and a follow-up date, without leaving the workspace. What is in production today is the pipeline itself: import, analysis, document generation, Drive export, and day-to-day tracking (statuses, journal, contacts, actions due). Fit scoring, duplicate detection, batch sending, and reply detection from email are the next steps, not part of this version.