Every application gets a row. Every follow-up gets a date.
The #1 reason people lose an offer isn’t a bad resume — it’s silence after “applied”. This tracker runs your job hunt like an operation: log everything, get nudged the moment a follow-up is due, and see honestly whether the problem is your volume or your application.
A quick reconciliation.
Everywhere else on DevUp we refuse to hand you a finished file — we teach you to build your own. This page is the one exception, on purpose: your job hunt is a tool for yourlife, not a deliverable you’d hand a client, and you need it running today, not after a lesson. So you get both — a working tracker right here, and below, exactly how it’s built, so you can rebuild it in Google Sheets and build the same kind of tracker for any client. That’s also the Build Your Own Tracker lab at /build.
The schema behind this tracker — and why each column exists
Every working tracker — applications, invoices, content calendars — is the same underlying pattern. Study this one, then rebuild it for anything.
Company + Role
Your unique row. Two applications to the same company for different roles are two different rows — never merge them.
Status (fixed list)
Applied, Replied, Interview, Offer, Rejected — always picked from a dropdown, never typed free-hand. Free text drifts into ten spellings of "in progress" within a week.
Applied on
The date you sent it. On its own this is just a log — history, not a tool.
Follow up on
The one column that turns the log into a tool. It's what the radar panel above checks every time you open this page.
Source
Where you found it — LinkedIn, referral, direct. Once your pipeline gets long, this is what you'll filter by to see what's actually working.
Notes
Short and free text on purpose — the contact name, the referral, the one detail you'd forget by next week.
The three formulas that make it self-monitoring
Row 1 is your headers, row 2 is your first entry. Adjust column letters if you order yours differently.
Days overdue (Follow-up in column G)
=IF(G2="","",G2-TODAY())0 means due today, a negative number means overdue by that many days.
Count how many are at "Interview" (Status in column E)
=COUNTIF(E:E,"Interview")Swap the status string to count any stage.
Reply rate
=(COUNTIF(E:E,"Replied")+COUNTIF(E:E,"Interview")+COUNTIF(E:E,"Offer"))/COUNTA(E2:E1000)Format the cell as a percentage.
Add Data → Data Validation on the Status column with a fixed list, add a conditional formatting rule to color any row where the days-overdue formula goes negative, and set a recurring reminder to review it — a tracker nobody reviews is worse than no tracker, because it creates false confidence.
Now go rebuild this yourself — that’s the lab at /build.