B4 Index
A scored, self-rescoring index of 1,603 software categories answering one question... build it, buy it, bridge it, or beware.
The engine, rendered
Scoring cadence
Frontier pipeline
Both are rendered from the index's own numbers rather than drawn by hand, so a data change redraws them.
What this is
Every company runs the build-versus-buy argument on vibes. Someone senior has a feeling, someone else has a vendor relationship, and the decision gets made in a meeting nobody documents. Then it gets remade eighteen months later by people who don't know why the first call went the way it did.
The B4 Index is that argument turned into a scored, public index. As of the July 2026 data cut it covers 1,603 software categories across 169 domains and 92 industries, with roughly 23K vendor-to-category mappings underneath.
The X axis is Strategic Differentiation. The Y axis is AI Feasibility, which in the current methodology means buildability: can a competent team build and operate a good-enough alternative for their own needs. Both derive from five dimensions scored 1 to 5.
BUILD (high differentiation, high feasibility) is where your advantage lives and AI can make it. BEWARE (low differentiation, high feasibility) means you're paying premium prices for something already commoditized. BRIDGE (high differentiation, low feasibility) means buy the platform now and build over time. BUY (low differentiation, low feasibility) is honest commodity, so buy the cheapest one that works.
The distribution is the part people don't expect. BUY 647 categories, BRIDGE 525, BEWARE 326, BUILD 105. That's 7% of the index in BUILD. I run an index whose entire premise is that AI changed the build-versus-buy math, and it tells you to buy or bridge 73% of the time. Good. A framework that says "build everything" is a marketing document.
Why it's built this way
Two axes, not five. I score five dimensions but only two set the quadrant... Specificity and Strategic Control average into differentiation, AI Feasibility stands alone on the Y. Vendor Value and Cost Trajectory became urgency modifiers: they tell you how fast to act inside a quadrant and never move you between quadrants. The earlier design was a 5-dimension composite, which produced numbers nobody could argue with. Sounds good, actually a defect. You want a framework people can fight about, because that's how you find out it's wrong.
Categories are the scored atom, not vendors. Vendors churn, get acquired, pivot. A category's structural position moves slowly, which is what makes a score worth publishing and re-checking.
Scoring is evidence-graded. AI Feasibility rests on documented independent production self-builds, and a category whose only evidence is bolted-on AI features caps at 2. Without that gate, every vendor's "now with AI" press release inflates the Y axis and the top half fills with noise. The intake pipeline that feeds it splits the work so no stage vouches for its own output: models research and judge, deterministic code performs every database write, and the reviewing session can unverify a row but is structurally incapable of confirming one.
And it re-scores itself. A weekly job takes roughly a thirteenth of the active index, least-recently-scored first, so the whole thing cycles quarterly with no giant re-grade event. Every score written lands as an append-only snapshot carrying its full five-dimension state, 1,605 of them so far. The current scores are the product. The trail of old ones is the part nobody can reproduce by asking a model nicely.
The build log, failures left in
2026-03-23
A published post with the axes swapped. X and Y reversed, wrong quadrant labels, live on the site. Corrected, and "never swap the axes" is now the first line of the canonical definition file every session loads.
JUNE 2026
v3.2 re-anchors AI Feasibility to buildability. Before that it briefly ran on a market-death gate ("has the market replaced the vendor"), which emptied the top half of the chart almost entirely and made the framework useless for its actual job. Both that anchor and the original "AI can generate 80% of it" anchor are now marked deprecated.
2026-06-24
A retraction. I'd drafted a whole argument that build-versus-buy had migrated onto the X axis, then checked it against the distribution: only 27% of categories clear a Y of 3.5 or higher. The data refused the claim, so the claim came out. That one stung, because it was a good-sounding idea.
2026-07-04
Weekly self-rescoring goes live on a subscription-billed engine, retiring the metered weekly path.
2026-07-12
The vendor-count bug, and the one I'd point to first. The site had been publishing "8K vendors" for a while. Reality was around 23K. The export script counted only mappings flagged is_curated=true, because that flag drives the per-category display lists, and whoever wrote it assumed display count equaled vendor count. The site read the export and printed it. Nobody caught it because 8,008 is a perfectly plausible number. No crash, no error, just a quiet 3x understatement of my own coverage on my own homepage. Fixed by deriving the label from the mapping count instead of hardcoding a string. The real fix, having the export emit the tracked-product count directly, is still open.
2026-07-22
Four duplicate AI categories merged away, with permanent redirects generated from the merge records rather than a hand-maintained list. The AI and ML shelf went from 42 to 39.
⚠ What would break
Taxonomy blindness. The pipeline is category-first: the taxonomy seeds vendor enrichment. So a real market with no category is structurally invisible. Its vendors scatter into adjacent buckets and leave no empty shelf for anyone to notice. Not hypothetical... an entire ecommerce mobile-app-builder market was missing, with one of its vendors filed under SMS Marketing and another absent completely. The fix is a periodic pass diffing an external vendor corpus back against the taxonomy, and until that runs on a schedule the index doesn't know what it doesn't know.
Score staleness with a confident face. A category re-scored in April renders identically to one re-scored last week. The weekly cycle limits the damage, but the surface shows a verdict without showing its age, and a verdict is exactly what people quote long after it stopped being true.
Publish-chain drift. Data lives in Postgres, the site reads a generated JSON export, retrieval reads its own index. Change the data, skip a refresh, and the site quietly keeps serving old numbers. That's how the 8K label survived as long as it did.
What I learned
The vendor-count bug is my best example of confidently wrong output, and the confidence was structural rather than a hallucination. Every layer did its job. The query was correct for the flag it filtered on, the export was correct given the query, the site was correct given the export. The number was wrong at the top because an assumption made three layers down was never restated where anyone could see it.
What caught it was checking a published claim against the source database instead of against the previous published claim. That's the habit now: verify a number where it's generated, not where it's rendered. A derived label beats a hardcoded string every time, because a derived label at least gets a chance to be wrong out loud.
The other lesson came from the June retraction. Publishing a framework means the data gets to overrule you in public on something you already said. If it never does, you're not testing anything.
What this demonstrates
Turning a recurring judgment call into a scored artifact with a published methodology, real thresholds, and a re-scoring cadence. Retrieval over structured scores, so the index answers questions rather than rendering tables. An MCP surface so a model queries the framework directly instead of paraphrasing it from memory.
Where work is changing: the useful output stops being the recommendation and becomes the reasoning trail behind it. Anyone can ask a model whether to build or buy something and get a fluent answer in four seconds. What they can't get is a dated score, the five dimensions behind it, the evidence grade on the feasibility number, and a record of what that same score said in April. Judgment isn't scarce anymore. Auditable judgment is.