Why internal tools always start as a spreadsheet (and when to stop)
July 16, 2026

Why internal tools always start as a spreadsheet (and when to stop)

Every internal tool has the same origin story. Someone needed to track something -- customers, tickets, inventory, candidates -- and a spreadsheet was the fastest way to start. For a while, it works. Then it doesn't.

The actual failure mode

It rarely fails all at once. It fails as a slow accumulation of small problems: a cell someone overwrote without noticing, a formula that quietly broke three rows up, a tab nobody's allowed to touch because only one person understands what it does. That person becomes a single point of failure without anyone deciding that on purpose -- they're just the one who remembers why column J exists.

Multiple people are editing it

Once two people need to update the same spreadsheet at the same time, you're one overwritten cell away from losing real data.

It needs a workflow, not just a list

The moment a row needs to move through stages -- new, in progress, done -- a spreadsheet can hold that information but can't enforce it.

You're building formulas that feel like code

Nested IFs, VLOOKUPs chained three deep, a tab nobody's allowed to touch -- these are signs you're already building software, just in the wrong tool.

Why teams stay too long

Moving off the spreadsheet feels like a project -- one with a start date, a budget line, and a person who has to own it. Staying costs something too, but that cost is invisible and distributed across everyone who deals with a broken formula or a stale row, which makes it easy to defer indefinitely. "We'll fix it after this quarter" is a sentence a lot of teams say more than once about the same spreadsheet.

What actually gets you unstuck

Don't try to migrate everything at once. Pick the one workflow causing the most pain -- usually the one two people are editing simultaneously, or the one an external customer indirectly depends on -- and move just that. A real tool built around one working slice is more useful, and far less risky, than a half-finished attempt to replace the whole spreadsheet in one go.

None of this means the spreadsheet was a mistake. It was the right tool for testing whether the problem was real before spending real effort on it. The mistake is staying there after the answer is clearly yes.

Start from a template instead
← Back to the blog