Skip to content
// LESSON 01 · FREE PREVIEWUNLOCKED

Why build an internal tool at all?

When a spreadsheet becomes a liability, when to upgrade, and why the cheapest possible custom tool beats the most expensive SaaS for some jobs.

// LOADING SIGNED URL

The spreadsheet liability curve

Every SMB has a spreadsheet that started small and ate the operation. You know the one:

  • It tracks something important (leads, jobs, inventory, payments)
  • Multiple people edit it
  • The formulas are starting to break
  • Someone has accidentally sorted a column independently of the others
  • The "single source of truth" is now actively producing wrong answers

This is fine when revenue is below ~$300K/yr. It becomes a real cost above that, in three ways:

  1. Errors compound. A bad cell silently propagates through every report.
  2. Onboarding gets harder. New hires need a 30-minute "here's how to not break the sheet" tour.
  3. You can't automate around it. Sheets can't expose a stable API, can't enforce data types, can't lock fields.

When the upgrade is worth it

Three signals say "yes, replace this spreadsheet now":

  1. A wrong cell costs real money. Pricing, inventory, contact info that bounces back from clients.
  2. Multiple people touch it daily. Concurrent editing in Google Sheets works, in Excel less so, in both it's fragile.
  3. You want to automate against it. Send an SMS when a status flips. Trigger an invoice when a job closes. Spreadsheets resist this.

The case for custom over SaaS

For some jobs — CRM, accounting, payroll — buy the SaaS. The market has a clear winner.

For everything else specific to your business — the way you track route schedules, the way you batch invoices, the way you handle warranty claims — a small custom tool owned by you beats:

  • An over-featured SaaS you mostly don't use ($200-500/mo, custom fields cost extra, exports are flaky)
  • A Notion + Zapier Frankenstein that nobody on the team likes maintaining
  • The spreadsheet that's currently slowly killing you

The trick is keeping the custom tool small. This course is about building one in an afternoon, not building three months of feature work.

// NEXT LESSONSupabase Setup