Tacked
AI-Powered Job Search Tracker- React
- Typescript
- Vite
- Convex
- Clerk
- Claude
Tacked is a full-stack job tracker I built to get rid of the spreadsheet everyone ends up using during a job search. It's a Kanban board - Interested, Applied, Interview, Offer, Rejected - but the part I actually care about is the AI underneath it. Upload a resume and paste in a job description, and it scores your fit for that specific role, breaks down where you're strong and where you're not, drafts a tailored cover letter, and builds out an interview prep sheet with behavioral, technical, role-specific, and culture questions. The resume analysis sends the actual PDF straight to Claude as a native document input instead of extracting the text first, so formatting and layout aren't lost before the model ever sees them. I used Anthropic's tool-use API to force the response into a fixed schema rather than hoping a parser can make sense of freeform text. The cover letter generator was the harder problem: I wrote a 12-rule prompt aimed squarely at the tells that give AI-written cover letters away - no em dashes, no "not only X but also Y," no stock openers, no clichés - so what comes out actually reads like someone wrote it. Underneath all of that is Convex, which pushes every update to the board in real time and keeps each user's data isolated server-side through Clerk auth. Dragging a card between stages updates the UI immediately and reconciles with the server after the fact, and every move gets logged to a history table that feeds the analytics view - weekly application volume, plus a live funnel across the pipeline.











