Every Job You Can Find Is Already Built
Directory inventory does not predict opportunity. Searching for the job in a user's own words does, and in 2026 it almost always comes back closed.
I went looking for an audience to build for. Not a market, an audience: a specific person I could name at least three products for, because an audience you can only build one thing for never repays the cost of reaching it.
Six candidates went through the same six questions. The one that decided every case was the second.
The method
- Three products? Can this same person use at least three things? If not, any channel you build for them never amortises.
- Is the job already served? Search the directory this product would ship into, for the job in a user’s own words, and count the shipped competitors. Zero to one is open. Two or three is contested. Four or more is closed. A feature built into the platform is an automatic stop, because that competitor is pre-installed and free.
- Is there a surface to intercept on? A searchable directory or query stream you can occupy without recruiting anybody.
- Am I actually a member? Not interested. A member.
- Recurring intent? Episodic needs cannot sustain an audience.
- Could it ever be monetised? Not now. Ever, and through what door.
What the inventory said, and why it was useless
The first instinct is to count how crowded a directory is.
| Surface | Inventory |
|---|---|
| Claude Code plugins | Hundreds official, roughly 2,800 community skills |
| Raycast extensions | 2,000+ |
| Obsidian community plugins | ~2,700 listed |
| MCP registries | ~2,000 official, tens of thousands community |
| iOS App Store | ~2 million |
This turned out to be a weak predictor. It measures how many things exist, not whether the specific job is taken. The most saturated surface on that list, with two million apps on it, is also the one where a small app of mine converts above its category median with zero hours ever spent on its listing. Crowding is not the same as closure.
What the job-served check said
| Job, in a user’s words | Competitors found | Verdict |
|---|---|---|
| Keep my notes vault tidy: backlinks, orphans, lint | Two core features of the app itself, plus two shipped plugins | Closed by the platform |
| Let a coding agent read my notes vault | Six shipped integrations | Closed |
| Give me an agent-operated vault template | Five, one of them named almost exactly that | Closed |
| An opinionated spec-driven pipeline for my coding agent | Four or more, including an official collection | Closed |
| Track my car’s expenses and maintenance | Six, one of them free from an incumbent giant | Closed |
| Compare cars before buying, on true monthly cost including depreciation | Every competitor logs expenses after purchase. None found compares candidates beforehand | Thin |
Five of six closed. Several by four or more. One by a feature that ships with the platform.
I ran a seventh check later, on capturing a wine you tasted and finding it again at home, because I had a half-built app for it. Ten competitors, two of them built on the exact angles I thought were mine. And the name I had chosen collided in store search with a shipped app in the same category.
I ran an eighth on measuring how much of a codebase was written by an AI agent, after concluding the job was open. It was open at the enterprise tier, where every tool is sold by a salesperson. One tier down, where I would actually have shipped, it was closed by five free tools, the leader of which has two thousand stars, supports seven agents, and is used by Fortune 100 teams.
Checking the wrong tier is the same as not checking. That one cost me a morning and an objective.
The finding
In 2026, every job you can reach by browsing a directory has already been built, because building is cheap for everyone now and not only for you. The durable openings are where the barrier is something other than build cost: proprietary experience, credibility, or a specificity too narrow for a generalist to bother with.
This does not retire the idea of positioning yourself in front of existing demand. It says something narrower and more annoying: unserved jobs are not findable by browsing stores. They are findable where you happen to know something other builders do not.
The corollary is the part I keep having to relearn. If the opening you found is one of those, then your advantage is the knowing, not the building, and the fastest way to throw it away is to start building.
The cheapest possible discipline
Each of those checks was one search and a paragraph. Call it a minute.
Two of them killed work I had already committed to, written into an objective, and published. Both times the search would have cost less than the writing did.
So the rule now sits above everything else: no objective may commit build hours until someone has searched for the competitors and written down what they found. Not as a research phase. As a one-minute gate that runs before the sentence gets written.
Get updates
Occasional notes on what's happening at Enginery. No spam, no marketing.