FOR PRODUCTS OLDER THAN THE TEAM THAT MAINTAINS THEM · BROWNFIELD · MODERNISATION
The cost isn't the bug you fear.
It's the ten features you never attempt
No outage, no crisis — just a team that started estimating in weeks instead of days, because nobody can see the blast radius any more. We read the system, measure it, and hand you a fixed price to change it. Or a written don’t.
Free · 30 minutes · No sales sequence · Written quote within 48 hours
“What breaks if we change PricingService?”
14 services
ACTUALLY IN THE BLAST RADIUS
- ● in blast radius
- ○ untouched
- ◎ no tests
ACT I
THE INHERITANCE
DAY 0
The system outlived everyone who knew why it works.
Maybe it arrived with a handover — a Slack channel and a half-finished README. Maybe you built it yourselves, and the two people who made the real decisions have since retired. Either way, what ships today is running code with no map — and running code without a map is not an asset, it's a hostage situation.
“Everyone starts calling it legacy — as if the code got worse. It didn't. The knowledge left.”
THE PATTERN THIS PAGE IS ABOUT
ACT II
THE FREEZE
WEEK 1
Nothing has shipped in five weeks, and nobody can say why.
There was no outage and no crisis. The team simply started estimating in weeks instead of days, because every change might break something invisible. Caution is rational when you can't see the blast radius. The cost isn't the bug you fear — it's the ten features you never attempt.
By the time this curve is obvious on a dashboard, it has been true for two quarters.
ACT III
THE DRAWING
WEEK 2
So we draw it. Every path, including the ones nobody mentions.
Two weeks of reading, measuring and asking uncomfortable questions. Not a rewrite proposal — a picture. Where the traffic actually goes, which service has no tests, what breaks when you change the thing everyone is afraid of. You end up knowing your own system better than you did before we arrived.
HOW WE KNOW WHAT WE KNOW · EVERY LINE ON THAT DRAWING CARRIES A TAG
- OBSERVED
- Read out of the code and its history. Churn, ownership, what changes together. Nobody had to remember it.
- MEASURED
- Taken off the running system in week two. Traffic, errors, what the revenue path actually touches.
- ASSERTED
- The team told us and we could not verify it. It goes on the drawing in this colour, and it is never underwritten.
You can draw this yourself. What you cannot do is put a fixed price under it and sign.
ACT IV
THE NET
WEEK 3
Before anything is automated, we make the system safe to break.
This is the part most people skip, and it is the reason most automation stories end badly. A model let loose on a system with no characterization tests doesn't save you weeks — it produces regressions nobody can trace back. So the net comes first. It is human work, it is quoted separately, and it is not optional.
- CI
- A pipeline that goes green, on every branch, without anyone nursing it.
- CHARACTERIZATION TESTS
- Tests that pin down what the system does today — not what the docs claim it does.
- STAGING
- An environment close enough to production that a passing test means something.
The list is computed, not negotiated: how much depends on it, times how often it changes, divided by whatever protects it. One rule overrides the ranking — anything measured live with no tests and no owner joins whatever it scores. That is how billing-cron got in. Six is the ceiling.
Until all three exist, no agent touches your code. There is no version of this engagement where that rule bends.
AN INTERRUPTION, HALFWAY THROUGH
You can stop reading here. A 30-minute call does the first two acts for your system, out loud.
ACT V
THE FIRST CHANGE
WEEK 5
A change ships on a Tuesday afternoon. Nothing breaks.
Not a heroic rewrite — a small, boring, test-gated change to the service everyone was afraid of. That is the whole point. Models draft inside narrow tasks; a human reads every diff before it merges; deploys stay manual. The team watches it go out and realises the freeze is over.
- SPEC
- HUMAN GATE DESIGN + ADR
- TASKS
- DRAFT
- AUTO REVIEW
- HUMAN GATE PR REVIEW
- HUMAN GATE RELEASE
ACT VI
THE HANDOVER
MONTH 3
You keep the keys, the map, and the ability to fire us.
Every artefact lives in your repository, in a format your team can edit. The runbook, the decision records, the diagrams, a recorded walkthrough, thirty days of warranty. If you want us monthly afterwards, there's a retainer with a written value report. If you don't, nothing we did depends on us still being here.
- RUNBOOK
- How to operate it at 3am, written for the person on call.
- DECISION RECORDS
- Every architectural choice and the reasoning behind it.
- DIAGRAMS
- Editable, in your repo. Not a PDF, not a screenshot.
- WALKTHROUGH
- A recorded session with the people who will maintain it.
- 30-DAY WARRANTY
- We fix what we broke, at no charge, no argument.
THE STORY ENDS THERE · THE TERMS START HERE
Everything below is the paperwork: what it costs, what we sign, what you can check, and why the cheaper options are cheaper.
You do not need any of it to book the call. It is here because you will need it before you sign anything, and hiding it would waste your time and ours.
- €750
- BLAST RADIUS REPORT · 2 DAYS
- €9,500
- DISCOVERY SPRINT · MOST EXISTING SYSTEMS
- +20%
- BUILD OVERRUNS WE ABSORB
07 PRICE €750 to start, €9,500 for most sprints, and every build milestone priced before you commit.
Two things you can buy today. Everything after that is priced before you commit to it.
You never have to work out which category you are in. That is the job of the free triage call, and the answer arrives in writing within 48 hours.
WHAT IT COSTS TO GET TO EACH DECISION · ◆ = YOU CAN STOP HERE
- · €0 TRIAGE
- ◆ €750 BLAST RADIUS
- ◆ €9,500 DISCOVERY SPRINT
- · €3,500+ SAFETY NET
- ◆ €12,000+ BUILD MILESTONE
- · €3,000+ / month RETAINER
START SMALL
€750 2 DAYS · ASYNC
Blast Radius Report
Name the one change your team is afraid of. We tell you what it actually touches, what has no tests, and what breaks. One page, one diagram, one verdict.
Credited in full against a Discovery Sprint booked within 30 days.
Read-only access to one repository. Nothing is installed and nothing touches production.
THE MAIN THING
€9,500 1—2 WEEKS
Discovery Sprint
Your system read, measured and drawn, ending in a fixed price to change it — or a written don’t. The artefacts land in your repository either way.
That is the price for most existing systems. Nothing built yet is €6,500; legacy or a rescue is €11,500. Which one you are is the triage call’s job, not yours — your exact number arrives in writing within 48 hours, before you commit to anything.
Paid in two halves. Week one reads the system and hands you the map; week two stands it up, measures it, and prices the work.
IF YOU DECIDE TO BUILD — ALL OF THIS IS PRICED INSIDE YOUR SPRINT, NOT INVENTED AFTERWARDS
- Safety net €3,500 — €6,000 Once, before any build.
- Build milestones €12,000 — €25,000 each Fixed on signature. Underwritten to +20%.
- Retainer €3,000 — €5,500 / month Optional. Keeps the map true as the system moves.
FIXED ON SIGNATURE · 40% UP FRONT · NEVER DISCOUNTED — A SHORT BUDGET MEANS LESS SCOPE, NOT A LOWER RATE
08 THE UNDERWRITE Milestones fixed on signature. Overruns inside the map we drew are ours, up to +20%.
We sign the build price. Overruns inside the map are ours, up to +20%.
Every milestone is fixed on signature and quoted from what the sprint actually measured. If we misread your system, absorbing that is our problem — which is the only reason two weeks of reading is worth paying for.
- What it covers
- Anything inside the scope the sprint mapped. A misread on our side is our cost, not a change request in your inbox.
- What voids it
- Verbal scope changes, blocked repository or staging access, and client-side dependency changes after signature. Printed on every quote.
- Why we can offer it
- Because we read the system for two weeks first, and because no single milestone is ever quoted above €25,000.
An agency quoting from a discovery call cannot do this, because it has not read the system. An agent cannot do it either, because when it is wrong there is nobody to bill.
09 THE ALTERNATIVES Doing nothing, your own team with an agent, an AI agency, a traditional agency — and where each one stops.
You are not choosing between us and nothing. You are choosing between five options.
Four of them are cheaper than we are. Here is an honest account of what each one actually gives you, written so you can disqualify us quickly if one of them fits better.
| YOUR OPTIONS | READS THE SYSTEM | MEASURES IT RUNNING | SAYS NO | SIGNS THE PRICE | DOES THE GRIND |
|---|---|---|---|---|---|
| Doing nothing for another quarter | ✕ | ✕ | ✕ | ✕ | ✕ |
| Your own team with an AI agent | ◑ | ✕ | ✕ | ✕ | ✕ |
| An agency that uses AI | ◑ | ✕ | ✕ | ✕ | ✕ |
| A traditional software agency | ✕ | ✕ | ✕ | ◑ | ✓ |
| Keel | ✓ | ✓ | ✓ | ✓ | ✓ |
◑ means partially — a capable team or agency will produce diagrams, and they will be roughly right. Any one of these five columns is cheap to claim on its own. The price only holds because all five are true at the same time.
- Doing nothing
- The most common choice, and never really a decision — a deferral. Not free either: the drag above is already on your payroll, it just has no line item.
- Your own team with an AI agent
- You should do this, and we use the same tools ourselves. It will draw a decent diagram in an afternoon. It cannot stand your system up and measure it, tell you not to do the thing you asked for, or sign a price it is liable for. And the people who built the system cannot see it — nor say what they see without political cost.
- An agency that uses AI
- The closest competitor, and the difference is not tooling. They bill for capacity, so their incentive is more code; we bill for a decision at a fixed price, so ours is less. They point models at the system before a spec or a test exists to catch them. We point them at narrow, test-gated tasks after both do. And they skip the safety net, because it looks unbillable.
- A traditional software agency
- Sells capacity, paid by project size, so the project grows. Most are clustered on greenfield MVP work, which is commoditising. Reading an existing system and changing it safely is a different job.
10 HOW YOU CHECK US Published rules, your task log open while we work, and our own numbers every quarter.
Every claim on this page is checkable. Here is how you check it.
Process claims are worth nothing on their own — every agency makes them and every buyer discounts them to zero. So we publish the rules, open the delivery log while the work is running, and print our own numbers every quarter, including the ones that make us look bad.
- Before you buy
- The rules, published in full: three attempts then a human takes over · secrets never enter an agent’s context · production deploys stay manual · nothing merges into auth, payments or data deletion without a human · no agent touches an existing system before the safety net exists.
- While we work
- Your task log is readable by you, and the weekly report carries the same numbers we use internally. Expect a high needs-human rate on an existing system — that is the designed distribution. Zero would mean we were lying.
- After handover
- Every gate leaves a receipt and you keep all of them: an ADR, a review record, a release note and a demo recording.
WHAT THE RECEIPTS LOOK LIKE · FORMAT IS REAL, CONTENT IS ILLUSTRATIVE
ADR-014 · ACCEPTED
Context Pricing rules live in two services and nobody knew which one wins. Decision Keep both. Add a contract test at the seam and make the winner explicit. Consequence No rewrite. Release lock removed.
PR #218 · HUMAN REVIEW
reviewer architect (human)
comments 3, one blocking
blocking touches auth/session.ts —
needs a second pair of eyes
per SEC-4
resolved 14:22, merged after fix
deploy manual, 15:05 task-log.csv
date,proj,type,task,att,result 06-11,acme,T2,#218,2,green 06-11,acme,T2,#219,3,needs-human 06-12,acme,T2,#220,1,green 06-12,acme,T2,#221,3,needs-human 06-13,acme,T2,#222,1,green first-pass green 3 / 5 needs-human 2 / 5
OUR OWN NUMBERS · PUBLISHED EVERY QUARTER · Q3 2026
- Discovery Sprints delivered
- —
- Sprints that ended in a written “do not proceed”
- —
- Build milestones closed at the signed price
- —
- Milestones where we absorbed the overrun, and how much
- —
- Milestones delivered late
- —
- Engagements where the safety net was skipped
- —
No engagements yet, so the column is empty. It publishes from the first sprint onward and it is not curated — a milestone we ran late on appears here the same quarter it happens. Milestones where you signed a scope change are reported in a separate column, so “closed at the signed price” cannot be inflated by change requests.
What you see: your task log, the weekly report, every gate receipt, CI results. What you don’t: our internal retrospectives, other clients’ data, our margins, raw model transcripts. These figures are operational data, not a service-level guarantee — the only contractual promise on this page is the underwrite.
11 PROOF One open-source system torn down in public every month — including the ones that need no rewrite.
We publish the method on systems nobody paid us to look at.
One open-source system a month, torn down in public: the drawings, the ranked risks, and one number measured from the system actually running. Including the ones where the honest answer is that nothing needs rewriting.
⚠ PLACEHOLDER — REPLACE EACH CARD WITH A PUBLISHED TEARDOWN BEFORE LAUNCH
- TEARDOWN 01 00% Share of traffic reaching a service the maintainers believed was retired. VERDICT — REPLACE
- TEARDOWN 02 0.0× Gap between the documented request path and the real one. VERDICT — REPLACE
- TEARDOWN 03 0 Rewrites recommended. The architecture was fine; the release process was not. VERDICT — REPLACE
There are no client logos on this page. When there are three we will put them here, and not before. Until then the teardowns are the evidence, and you can check every one of them yourself against the repository it came from.
12 BEFORE YOU BOOK Access, stack, what happens if the sprint says don't proceed, and who actually writes the code.
The five questions everyone asks.
- Why not point Claude Code at our repo ourselves?
- You should — it will draw a decent diagram in an afternoon, and we use the same tools inside our own process. What it cannot do is stand your system up and measure where the time actually goes, tell you not to do the thing you asked it for, or sign a price it is liable for. If a diagram is all you need, don’t hire us.
- What access do you need?
- Read access to a repository that stays in your organisation, least privilege. Secrets never enter an agent’s context. Production deploys stay manual, always.
- Do we have to move to your stack?
- No. On an existing system the stack is yours and we work inside it — that is the entire job.
- What if the sprint says don’t proceed?
- Then it says that, in writing, and you keep every artefact. Finding out in week two is considerably cheaper than finding out in month six.
- Who actually writes the code?
- One human architect owns the design and reads every diff before it merges. Models draft inside narrow, test-gated tasks. One accountable person, not a rotating bench.
Free · 30 minutes · Written quote within 48 hours
NEXT STEP
Thirty minutes.
No deck required.
Bring the repository, the symptom, or just the frustration. The first five minutes classify the work; by the end you will know what a Discovery Sprint would cover, what it would cost, and whether we think you need one.
NO SALES SEQUENCE · NO OBLIGATION · WRITTEN QUOTE IN 48 HOURS · WEEK ONE IS STOPPABLE
keel /kiːl/ NOUN
- 1 The backbone of a hull. It is laid first, before anything anyone will ever see, and every frame is measured from it.
- 2 A ship's age is counted from the day her keel was laid — not from her launch.
Your system has one too. It was there the whole time, holding the shape of the thing. Nobody had ever drawn it — which is why nothing can be measured from it.
- PREPARED BY
- MEHMET YALCINKAYA
- SCOPE
- FIXED ON SIGNATURE
- DATE
- ON BOOKING
- APPROVED BY
ARCHITECT · KEEL