Skip to content

← Writing

Job hunting is a pipeline problem, not a mood problem

Applying to dozens of jobs a day broke my spreadsheet before it broke my motivation. Tracking the search like a real pipeline changed what I actually paid attention to.

Most job-search advice is about mindset — stay positive, don’t take rejection personally, it’s a numbers game. All true, and none of it tells you what to do on a Tuesday when you’ve got a dozen applications open across different tabs, a few of them waiting on a follow-up you already forgot about, and no real idea whether the search is working or just busy.

I was applying to a meaningful number of jobs a day. A spreadsheet held that for a while — company, position, status, date. Then it didn’t. Not because spreadsheets are bad, but because a job search isn’t a list. It’s a pipeline, and a pipeline has stages, timing, and things that quietly go stale if nobody’s watching them.

What a spreadsheet can’t tell you

A spreadsheet will hold a status column. It won’t tell you that status has sat unchanged for eleven days. It won’t group by stage and show you where the funnel is actually thin. It won’t remind you that an application moved to “Interview” three weeks ago and you never heard back about round two.

Those are exactly the things that matter once the volume goes up. At low volume, gut feel is enough — you remember the four companies you applied to last week. At real volume, gut feel quietly stops working, and you don’t notice until something you cared about goes cold because it fell out of view.

Turning the anxiety into a query

Once the search was modeled as an actual pipeline — statuses, dates, interview rounds tracked as their own thing — the vague dread of “is this going well?” turned into a question I could just answer. Not how do I feel about the search this week, but: how many applications are sitting past their expected follow-up window. How many moved backward instead of forward. Where does the funnel actually thin out — not getting responses, or getting responses but not interviews.

That reframing did more for how the search felt than any pep talk did. Anxiety mostly comes from uncertainty, and a dashboard is a decent antidote to uncertainty even when the underlying news hasn’t changed. Knowing exactly where a dozen live applications stand is calmer than knowing vaguely that “a lot” are out there somewhere.

The same shape, pointed the other way

Once the pattern existed, I noticed it fit somewhere else too: freelance client outreach is the same pipeline, inverted. Instead of being evaluated, I’m the one evaluating a lead and deciding whether to keep pursuing it — scraped, contacted, interested, proposal sent, won or lost. Same funnel shape, same value in seeing where it thins, opposite direction of who’s judging whom.

I kept the two separate rather than forcing one system to pretend they’re the same thing. They’re structurally similar and conceptually inverted — a distinction that sounds small until you try to write logic that has to know which role you’re actually playing in a given row.

What I’d tell someone starting a search right now

Track it like it’s real work, because it is. Not a vague sense of “I’ve been applying a lot” — actual dates, actual stages, actual overdue flags. You don’t need custom software to get most of the way there; a well-structured spreadsheet works fine at moderate volume. What you need is to stop trusting your memory for something with this much volume and this much riding on it.

I built the rest because I wanted software that would nag me the way a good manager would — not with guilt, just with a clear, current view of what’s actually stale and needs a nudge.


Career OS started as exactly this — a pipeline tracker for my own job search, later extended to freelance lead tracking. The full build is at /work/career-os.