Every architect has watched a sensible internal tool die in a meeting. It's the same tool every time, give or take. Somebody on the operations side spends two days a month reconciling two systems by hand, the fix is obviously a small application, and the quote comes back from a vendor at €40,000. The number isn't unreasonable for what was asked (it's roughly what a simple bespoke business tool costs to build properly ) but it's far more than the problem is worth, and everyone in the room knows it within about ten seconds. So the tool doesn't get built. The carries on by hand, and three years later a different person is doing it the same way, in the same spreadsheet, with the same date format that the importer still won't accept.
That gap, between obviously useful and worth a five-figure quote, is where a large amount of small, sensible software has always gone to die. What's changed is that a meaningful slice of those builds now takes a weekend instead of a quarter. The interesting question isn't whether that's true. It is. The interesting question is which builds collapse to a weekend, which ones still need the invoice, and how to tell them apart before you've shipped something load-bearing with nobody's name on it.
In this article
- What the quote was really pricing. A bespoke quote has six or seven line items, and the agent only erases some of them.
- The builds that collapse to a weekend. The specific shape of tool that drops from a quarter to two days.
- The builds that still need the invoice. , regulated, mission-critical work, and what the security numbers say about self-building it.
- A worked shape. One reconciliation tool, built over a weekend, with a tally of what the weekend bought and what it skipped.
- The saving was never a cheaper build. The real alternative wasn't a cheaper quote; it was the tool never existing.
- Staying clear about what you've got. How a working-but-unwarrantied tool drifts into load-bearing, and when to make the ownership call.
The economics underneath this, the question of why the build-versus-buy line moved at all, I argued at the platform level in a companion piece.
This piece is the version on the ground, for one tool, on one team.
What the quote was really pricing
The mistake people make when they see the weekend build is to assume the €40,000 was all margin and slow developers. Some of it was. But most of a real quote for internal software isn't the code, and it's worth being precise about what's in there.
The agent replaces some line items completely and none of the others.
A proper bespoke quote is paying for, roughly in order of how much change them: writing the code, which the agent now does in an afternoon; building the data model and the screens around it, which the agent also does well, because this is bounded, well-trodden, spec-shaped work; gathering the requirements, which the agent does not do, because that's a conversation with the person who has the problem and usually discovers that the stated problem isn't the real one; project management and coordination, which mostly evaporates when the team is one person directing an agent on a Saturday; testing against the cases nobody thought of, which the agent does partially and unreliably; and then the part that has nothing to do with building at all: the warranty, the support contract, the someone-to-call when it breaks at a bad time, and the implicit promise that the thing will still work in two years when the upstream changes shape.
Read that list again and the weekend build comes into focus. It cleanly replaces the middle: the code, the model, the screens. That's real, and for the right tool it's most of the perceived cost. It does not touch the two ends. The requirements at the front still need a human who understands the domain, and the ownership at the back still needs a human who'll be there when it breaks. Pretending otherwise is the trap this whole piece is trying to keep you out of.
The middle collapsed, the ends didn't
A bespoke quote bundles code, data model, and screens together with requirements at the front and ownership at the back. Agents demolish the middle. The front and the back are still entirely yours, and they were never the cheap part to begin with.
The builds that collapse to a weekend
Some builds do shrink to a weekend. The shape that does is specific rather than the vague category "internal tools," and that shape is what predicts the outcome.
The weekend candidates that actually pan out share four traits. The scope is bounded: one job, not a platform that grows ten more jobs the moment people see it. The data is yours and already exists somewhere you can reach. The stakes are low: a bug inconveniences a handful of internal users, costs an afternoon, and doesn't end up in a regulator's letter. And the shape is standard: a data model, the around it, and a screen to drive it. That last combination, the one that used to be a developer's quarter, is exactly what a coding agent is strongest at, because the two ends it has to talk to are documented and the work between them is faithful implementation rather than novel design.
When all four hold, the weekend estimate isn't optimistic. The internal reconciliation tool from the opening, the small approvals tracker, the thing that pulls three reports together and flags the rows that don't match. These are the spec-shaped, low-stakes, your-own-data builds that an agent will stand up faster than you can write the requirements down. The bottleneck stops being the code and becomes you working out what you want.
This is the same observation the glue-script piece made about one-off integrations, scaled up from a script to a small application: the cost of the build collapsed for precisely the class of code these tools are made of.
The builds that still need the invoice
Now the other side, because the empowerment story gets dangerous exactly where it stops being qualified.
Some builds still need the invoice, and the tell is almost never the code's difficulty. It's everything the code sits inside. Anything multi-tenant (software that serves several customers from one instance and must keep their data rigorously apart) needs the kind of correctness that a weekend doesn't buy. Anything regulated drags in obligations the agent does not produce on its own: a tool touching personal or financial data inherits duties, and depending on what it does and who it serves, possibly expectations from the people you sell to or the 's requirements for higher-risk systems . A mission-critical tool, where an outage stops the business rather than one person's Tuesday, needs an owner, a runbook, and somebody reachable when it fails. And anything that somebody has to own forever needs that somebody to exist and be named, which is a different thing from the tool working when you first ran it.
There's a measured reason to be careful here beyond the abstract risk. Recent testing found that AI models, asked to write code without explicit security requirements, chose an insecure implementation in roughly 45% of tasks. The rate barely improved across newer, larger models, which suggests it's structural rather than a limitation the next release sweeps away . Mid-2025 measurements inside large codebases told the same story from the other direction: AI assistance delivering far more code, far faster, alongside markedly more security findings . None of that condemns the weekend build of a low-stakes internal tool, where an exploitable flaw inconveniences a handful of colleagues. It does condemn the casual promotion of that same build into a position where the flaw matters, without anyone going back to check what the agent wrote.
The floor moved, not the ceiling
What a small team can responsibly build expanded a long way. What it can responsibly self-build for a regulated, multi-tenant, mission-critical workload barely moved at all. The agent hands you the screens. It does not hand you the maintenance, the security review, or anyone to own the thing in two years.
A worked shape
Take a concrete one, kept generic on purpose. A mid-sized firm has a weekly reconciliation between a billing system and an accounting system: someone exports from each, lines them up in a spreadsheet, and chases the rows that disagree. A vendor scoped it once at the low five figures: a small data model for the two record types, an import for each side, a matching rule, and a screen that lists the mismatches for a human to resolve. The project never happened. It cleared no budget line, because the problem was a few hours a week of one person's time and the quote was a few months of someone's salary.
Built with an agent over a weekend, the same tool exists. The data model, the two importers, the matching logic, and the review screen are all there and all working against real exports. Call it ten or twelve hours of actual direction, most of it spent discovering that the matching rule had three exceptions the original requirements never mentioned, which is precisely the requirements-gathering the agent couldn't do, surfacing the moment a human looked at real data.
Here's the accounting of what that weekend included and what it didn't.
| What the weekend delivered | What it didn't |
|---|---|
| A working data model for both record types, the two importers, the matching rule, and a usable review screen, all running against real exports. | No support contract and no SLA. When it breaks, the person who fixes it is whoever's free, which is usually the person who built it, if they remember how. |
| Most of the perceived value of the original quote: the part a vendor would have spent weeks building. | No warranty that it keeps working when the billing system's export format shifts next quarter. It will, silently, and the tool will quietly start mismatching. |
| The exceptions in the matching rule, found by pointing it at real data and watching what it got wrong. | No security review to speak of. It reads two internal exports and writes to a local store; that's a small blast radius, but nobody checked the agent's work against the 45%-insecure baseline. |
| A tool that now exists, where before there was a spreadsheet ritual and a dead quote. | Nobody to call at 3am, because there is no 3am, and the day there is, that's the day this was the wrong tool to build this way. |
That table is the whole argument in one place. The weekend replaced the expensive middle of the quote and left the right-hand column untouched. For this tool, at these stakes, deciding to live without that column is a perfectly reasonable call. The error would be making the same call for a tool where the right-hand column has teeth.
The saving was never a cheaper build
The most common way to describe this shift is "cheaper bespoke software," and it's wrong in a way that matters. The alternative to the weekend build was almost never a cheaper bespoke build. It was the €40,000 quote that got declined and the tool that therefore never existed. The real comparison isn't weekend-build versus expensive-build; it's weekend-build versus nothing.
That reframing changes what you're measuring. You didn't save €40,000, because you were never going to spend it: the project was dead the moment the quote landed. What changed is that a tool which had no path to existing now exists. The category that opened up isn't "the same tools, cheaper." It's the enormous backlog of obviously-useful, never-justifiable tools that sat permanently below the line, the way the glue script sat below it before the cost of the afternoon collapsed.
The comparison isn't cheaper, it's existing
The real baseline for most weekend builds isn't a five-figure quote you avoided. It's the tool that was never going to be built at all. The win isn't a discount; it's that the thing gets to exist.
What's easy to miss is how quickly the existence of the tool gets mistaken for the existence of a product. They're not the same thing, and the gap between them is the right-hand column of that table. A working tool with nobody's name on it is a useful object and also a small, quiet liability, and the better it works the easier it is to forget which of the two you're holding.
Staying clear about what you've got
The discipline that keeps this from going wrong is short, and it's the same discipline whether the thing is a glue script or a small application: know, at all times, that you have a working tool with no warranty, and don't let it drift into load-bearing without someone deciding to own it on purpose.
The risk lives in the drift, not the build itself. The weekend tool starts as a convenience for one person. Then a second person finds it useful. Then it's running on a schedule. Before long a real process depends on it, and nobody made a decision to let that happen. It accreted, one helpful step at a time, until something built with the explicit understanding that it had no support is now holding up something that needs support. The moment to make the ownership call is before that drift, not after the morning it fails.
So the conclusion is narrower than the headline. The bespoke invoice is no longer the only path to a bespoke tool, and that's a real and large change: a great many tools that were never going to exist now can. But the invoice was never only buying code. It was buying the requirements thinking at the front and the ownership at the back, and neither of those comes out of a coding agent. The agent now builds the tool. What it cannot hand you is either end of that invoice.
Final thought
The skill now is knowing, clearly and in advance, which part of the invoice you've really replaced and which part you've simply decided, for this tool, at these stakes, to live without.
References
- 1Artezio, "How Much Does Custom Software Development Cost in 2025? Real Numbers & Breakdown", December 10, 2025. (Simple applications cited from roughly $15,000; mid-sized business tools commonly $30,000–$80,000.). artezio.com ↗
- 2European Commission, "AI Act" (overview of risk-based obligations for AI systems under Regulation (EU) 2024/1689). Accessed: 2026-06-16. digital-strategy.ec.europa.eu ↗
- 3Veracode, "2025 GenAI Code Security Report" (AI-generated code introduced a security flaw in 45% of tasks across 80+ tasks and 100+ models; security pass rates largely flat across model generations). Published July 30, 2025; October 2025 update accessed 2026-06-16. veracode.com ↗
- 4SoftwareSeni, "Why 45 Percent of AI-Generated Code Contains Security Vulnerabilities" (citing mid-2025 measurements of roughly 4x code-generation velocity alongside 10x security findings). February 2, 2026. softwareseni.com ↗