I built a system to run my job search like a pipeline
Most job searches are a pile of browser tabs and a stale spreadsheet. I stopped treating mine as a to-do list and started treating it as a pipeline: stages, a scoring step, and a follow-up cadence. Here is the system.
Most job searches look the same from the inside: a dozen open browser tabs, a spreadsheet that was accurate for about four days, and a nagging feeling that something is slipping. Applications leak out the bottom. Follow-ups get forgotten. And after a few weeks of it, you have done a lot of work and learned almost nothing about what is actually working.
I ran mine that way for a while. Then I stopped treating it as a to-do list and started treating it as a pipeline: named stages, a scoring step at the front, and a follow-up cadence that did not depend on my memory. That one shift changed how the whole search felt. Here is the system.
Why a list fails you
A to-do list is good at exactly one thing: telling you what to do next. That is also its limit.
A list cannot tell you what is working. It has no stages, so you cannot see where things stall. Are you not getting responses because your applications are weak, or because you are aiming at the wrong roles, or because you never follow up? A list shrugs. It just shows you the next unchecked box.
And because a list rewards volume, it quietly pushes you to apply more without ever asking whether applying more is the problem. You end up repeating the same misses faster.
The reframe is simple. A job search is not a list of chores. It has stages, the same way a sales pipeline does. Naming those stages is the first thing that changes, because you cannot improve a step you cannot see.
The stages
Here is the pipeline I settled on, in plain terms:
- Sourced. A role you found and might go after, but have not evaluated yet.
- Evaluated. You have looked at it seriously and decided it is worth pursuing.
- Applied. You are in.
- Follow-up. You have applied and the clock is running on a nudge.
- Interview. A human is talking to you.
- Offer. The point of the whole thing.
And then the ways a role ends, which matter more than people think:
- No response. You applied and heard nothing back. Ghosted.
- Closed. The posting closed before you got a real shot at it.
- Discarded. You decided it was not for you.
Here is the part that took me a while to appreciate. Not every dead end is the same, and if you lump them together you lie to yourself about your own numbers. A role that ghosted you is a very different signal than one that closed before you could act, which is different again from one you walked away from on purpose. When you separate them, you can finally see where you are actually losing, and fix that stage, instead of just applying harder at the top and hoping.
Scoring: spend your effort where it counts
You cannot give forty roles your best cover letter. Anyone who tells you to "just customize every application" has never tried to do it forty times in a week. You have to choose, and the choosing is where a lot of searches quietly fall apart, because the loudest role (the one that just got posted, the one a friend mentioned) is not always the best fit.
So I put a scoring step at the front. Each role gets a fit number based on what actually matters to me: the kind of work, the level, the things I will and will not compromise on. The strong matches get my real effort. The weak ones get a fast, guilt-free no.
One nuance is worth calling out, because it is easy to get wrong. A single dealbreaker should cap the score no matter how good everything else looks. A role that is a 90 percent match on the work but requires relocating somewhere you cannot go is not a 90 percent match. It is a no with a nice paint job. Letting a hard constraint override the rest keeps the score honest, and keeps you from talking yourself into the wrong roles because the description was exciting.
The payoff is not really about efficiency. It is about spending less time agonizing over where to put your energy, and more time actually putting it there.
Follow-ups: timing beats volume
Most people handle follow-ups one of two ways. They never do it, or they do it too much. Both lose.
The fix is to stop treating follow-ups as something you remember and start treating them as something that is scheduled. In my system, applying starts a clock. A little while later (for me, about a week of business days), the role surfaces itself and asks for a nudge. I do not have to hold it in my head, which is good, because the human head is where follow-ups go to die.
The other thing that helped was drawing a clear line between warm and cold. A warm follow-up has a real person on the other end, someone you can actually reach. A cold one is a portal, a black hole, an address that will never write back. Those deserve different energy, and pretending a black-hole portal is a warm lead just wastes yours.
And when something is not dead but not active either, I can mute it indefinitely without deleting it. "Done for now." That keeps the active list honest, which matters, because an active list full of zombies is just a to-do list again.
The one number that told me the truth
If I had to keep a single metric, it would be reply rate, but defined carefully.
I count reply rate as the furthest stage a search ever reached, not wherever the role happens to sit today. A role that got to an interview and then went quiet still counts as a reply, because it was one. If I only looked at current status, that interview would eventually decay into "no response" and I would erase my own best signal.
The honest denominator matters just as much. It is tempting to quietly drop the roles that ghosted you, because your numbers look better without them. But those are exactly the data points that teach you something. Count them. A reply rate that flatters you is worse than useless, because it tells you to keep doing the thing that is not working.
What changed
I would love to tell you the system got me ten offers in a week. It did not, and that is not the point. What it did was less dramatic and more valuable: far less slipped through the cracks, I actually learned from the misses instead of repeating them, and the search got better over time because for the first time I could see it.
A job search is stressful enough without also being invisible to the person running it. Giving it stages, a scoring step, and a cadence did not make the market easier. It made me a lot harder to knock off course.
I built this into a tool called trajecktory because I wanted it for myself. It is open source, and I write about building it as I go. If any of this sounds like the mess you are currently living in, the code is there to look at, or just steal the idea and run it in a spreadsheet. The system is the part that matters, not the software.
Keep reading