CoreTracker
I built the tracker I needed, then taught it to fill itself in.
A local-first job application tracker. Spreadsheet, kanban, and resume manager in one. V3 runs a scheduled agent that finds and scores listings, then updates the board from my inbox.
- Role
- Everything. Personal build.
- Dates
- 2026, three versions deep
- Team
- Me
- Scope
- Product, design, build, prompts
- Tools
- Figma, Claude Code, Gemini vision API, Next.js
- Status
- In daily personal use. Also my hands-on frontend learning project.
- Live at
- coretracker-rho.vercel.app
Three tools, none of them talking, and I was doing the boring part.
I was tracking job applications across a spreadsheet, a Notion doc, and a set of tabs. None of them talked to each other. And I was doing the boring part myself: reading a JD, remembering which resume version fit, updating status when a recruiter emailed.
I wanted the tracker to do those parts.
Five calls that shaped the product.
Local-first.
Job search data is sensitive and I didn't want it on someone else's server. Anyone opening the live link gets an empty board of their own.
Rejected:hosted SaaS with a login.
Screenshot-based JD extraction using Gemini vision API.
Paste a screenshot of a listing, get a structured JD.
Rejected:OCR pipelines and job-board scraping (fragile and legally muddy).
AI resume-to-JD match scoring.
Every extracted JD is scored against every stored resume version. The one that scores highest becomes the suggested attach.
V3: scheduled agent, not a chat interface.
Once a day, it searches, finds ten matched listings, scores each, and drops them into the inbox column of the board.
Rejected:an on-demand chat that requires me to remember to ask.
Spreadsheet + kanban + resume manager in one tool.
Not because it's clever, because switching between three tools is where the friction lived.




Where it stands.
- In daily personal use
- Currently the substrate for me learning frontend properly
- Public URL: coretracker-rho.vercel.app (opens a fresh, empty board)
Building for one user (me) is a shortcut only if I stay honest about which features I'd add for anyone else.
Some choices (local-first, single-account) don't generalize. That's fine. Not every project needs to.