An ops manager at a regional distributor builds a dispatch dashboard in Retool over a weekend. No tickets, no sprint planning, no waiting on engineering. Monday morning she's a hero, the VP forwards a screenshot to the whole company, and someone says the sentence that launches a thousand internal tools: "Why do we even need developers?"

Eighteen months later the same company pays $3,800 a month in seat licenses, the dashboard takes nine seconds to load because it's doing joins across three data sources in a browser, and there's a quiet migration project nobody budgeted for. Nobody got dumber in those eighteen months. The tool just stopped fitting, and the bill for the misfit arrived all at once.

The honest retool vs custom internal tool answer is boring but true: Retool wins the first month decisively and often loses the second year. Rent it for a handful of users doing CRUD work; own the code once dozens of people depend on it daily or the logic gets complicated. The mistake isn't choosing Retool or choosing custom. It's choosing either one without knowing where the crossover point sits.

Where Retool genuinely wins

Low-code platforms earned their reputation in the exact scenario that ops manager faced: a database, some tables, and a business user who needs to search, filter, edit, and feel in control. An admin panel over Postgres that takes a developer two weeks takes a motivated ops person two days in Retool, and hers will have better filter UX because she built it for herself.

The wins are real. Back-office CRUD apps, approval queues, lookup tools, the "we need a UI on this table by Thursday" genre of request. For five to fifteen users doing straightforward record management, a tool like this is genuinely hard to beat on speed and cost. Anybody who tells you otherwise is selling engineering hours.

There's a second, quieter win: it deputizes the people who feel the pain. The ops manager who builds her own dashboard maintains it happily, because it's hers, and she iterates on it every week without filing a single ticket. That feedback loop is worth real money, and it's a big part of why the first month feels like magic.

Where Retool quietly taxes you

The first tax is per-seat pricing, and it's sneaky because it scales with your success. Illustrative math: twenty-five internal users at around $20 a seat is a painless $500 a month. Then the tool works, adoption spreads, and suddenly sixty people touch it. Now it's $2,400 a month, plus overages, plus the premium tier you needed for audit logs because compliance asked. Your cheap tool is now a $30,000-a-year subscription, and it grows every time the tool does its job.

A second tax is the performance ceiling. Browser-based query builders are fine until someone builds a page that fans out twelve queries on load. The third tax is subtler: your business logic now lives in a vendor's canvas, in a format only Retool developers can read. You've accidentally created a specialization, and the person who holds it is the ops manager from the opening paragraph, who has other work to do.

None of these taxes show up in the trial. They arrive at month ten, itemized in a renewal email, right when the tool has become load-bearing enough that leaving hurts. That timing is not a coincidence; it's the business model. The vendors know exactly when the switching cost crosses the subscription cost, and they price accordingly.

The cost curve that crosses

Put illustrative numbers on it. Retool path: roughly $500 a month at launch, growing to $4,000 a month by month eighteen as seats and tiers expand, call it $35,000 cumulative over two years, with zero ownership at the end. Custom path: $18,000 to build the core tool properly, then $400 a month for hosting and small fixes, roughly $28,000 cumulative over the same two years, and you own the asset outright.

The curves cross somewhere around month fourteen, give or take a quarter. Before the crossing, renting wins on cash flow and speed. After it, you're paying rent on a house you'll never own, and the landlord keeps raising it because your whole company moved in. The exact crossover month matters less than knowing it exists and watching for it.

Two things move the crossing. Headcount growth is the obvious one: every new department that adopts the tool drags the intersection closer. Logic complexity is the sneakier one, because the day you need real permissions, versioning, or a pricing engine, you start paying engineers to fight the platform anyway, and the custom path's scary upfront number starts looking like a down payment you should have made.

The hybrid play that actually works

Teams that get this right split the problem. Back-office admin stays rented: the five-person ops team keeps its Retool panels because the math genuinely favors renting at that scale. The tool that two hundred drivers or the entire sales floor touches every day gets built custom, usually on something boring like Supabase with a thin frontend, because per-seat pricing on two hundred daily users is arson.

That same logic applies to workflow automation, where the n8n versus custom code decision follows an almost identical curve: rent the glue, own the load-bearing logic. And when you do build the custom piece, keep it on a stack your team can maintain; the core FDE stack exists precisely so the custom tool doesn't become the next unmaintainable mystery box.

Plan the exit on day one

Whichever side you rent, assume you'll leave it. Keep business rules in your own database and code where possible, not in the vendor's canvas, so a future migration is a rewrite of screens rather than an archaeological dig. The cheapest migration is the one you prepared for before you needed it.

The decision checklist

Run these questions before signing anything, in either direction:

Back at the distributor, the ending was happy enough: the dispatch dashboard got rebuilt custom over six weeks, the ops team kept three small Retool panels for genuinely admin-y work, and the monthly bill dropped under a grand. The ops manager is still a hero. She just also got an exit plan, which is what heroes deserve.