HN/← All posts
DECISIONS / 29 May 2026 / 3 min read

Your spreadsheet is a system in disguise: when to replace it with a custom tool

Spreadsheets run more businesses than anyone admits. Here are the warning signs that yours has outgrown itself, and what to do next.

Most businesses start in a spreadsheet, and that's the right call. It's free, flexible, and everyone knows how to use it. I'm a developer, and I still open one every day.

But there's a quiet moment when a spreadsheet stops being a spreadsheet and becomes the system your business runs on: leads, orders, client work, payments, all in one file with a name like "MASTER_final_v3". That's the moment to look at it differently.

Don't replace it too early

Let me say this first, because developers don't say it often enough. A working spreadsheet is a good tool. If it's one person, a few hundred rows and it does the job, leave it alone. Replacing it costs money and time you could spend on customers.

The question is not "is this a spreadsheet?". It's "is this spreadsheet now costing me more than a proper tool would?"

The warning signs

Tick the ones that are true for you. Be honest. Nobody sees your answers.

InteractiveHas your spreadsheet outgrown itself?
Keep the spreadsheet

It's working. Tidy it up (one row per item, dropdowns for fixed values) and spend your money elsewhere.

Warning-sign score: 0

What to do about it, in order

You don't have to jump from a spreadsheet to a custom system. There's a ladder, and most businesses should climb it one rung at a time.

Rung 1: Clean up what you have

One row per thing, one column per fact. No merged cells, no colors carrying meaning, no notes hidden in comments. Add dropdowns for fields that should only have certain values. This alone fixes a surprising number of problems and costs nothing.

Rung 2: Put a form in front of it

If people type directly into the sheet, they'll break it. A form that writes into the sheet means data arrives in the same format every time.

Rung 3: Automate the repetitive parts

Send an email when a row changes. Create an invoice when a status becomes "Done". Copy new rows into your accounting tool. A small amount of automation removes most of the copy-paste work.

Rung 4: Move to a proper tool

When multiple people need different access, when you need reliable history, or when the process is complex, move the data into a real database with a simple interface on top. This might be a bought product. Sometimes it is custom.

What a custom tool gives you that a sheet can't

  • Permissions. Sales sees leads, finance sees payments, nobody sees everything by accident.
  • Rules that can't be broken. A required field really is required. A status can only move forward in the right order.
  • A history. Who changed what, and when.
  • Speed at scale. Ten thousand rows is slow in a sheet and trivial for a database.
  • Fit. The screens match how your team actually works.

I build internal tools for exactly this situation, including a CRM for a pharma team. The approach I trust is to start from the sheet the team already uses. You keep what works, and the tool adds the guardrails.

If your result above says "time for a proper tool", send me a copy with the sensitive data removed. I'll tell you which rung you're on and whether a custom build is worth it.

WORK WITH ME

Want this working in your business?

Tell me what's eating your time. I'll reply with an honest view of what's worth building.

Email me ↗