architecture

Sheets-First Architecture

Spreadsheets aren't the problem. The problem is when spreadsheets and services can't talk. Sheets-first architecture makes Excel and Google Sheets the human interface while services get programmatic access.

  • Sheets = where humans edit. Database = where services read. Sync keeps them aligned.
  • Bidirectional sync: changes flow both ways. Edits in Excel show up in the API; updates from services flow back to sheets.
  • Strategy stays in spreadsheets; engineering gets structured data without manual export/import.
  • Conflict resolution rules decide what happens when both sides change the same cell.
  • The goal: one source of truth, multiple interfaces (human and machine).

Real-world example

Pricing tiers live in Excel. The quoting service needs them in real time.

Finance owns the tier logic and updates it weekly. The web app needs fresh data to generate quotes. Copy-paste creates errors; manual sync doesn't scale.

  • Sheets-first: Excel stays the master. A sync job runs every 15 minutes (or on edit).
  • Finance edits cells. Sync detects changes, validates, and pushes to the datastore.
  • Quote service reads from the datastore—fast, structured, no Excel dependency.
  • When a service updates something (e.g. actuals), sync can push back to Excel so Finance sees it.
  • One source of truth. Finance keeps their workflow. Engineering gets an API.

Sheets-first doesn't replace spreadsheets—it connects them to the rest of the stack.

When does sheets-first make sense?
View details
How bidirectional sync works
View details
Tradeoffs
View details
Common mistakes
View details

See it in action

Need to bridge spreadsheets and services?

More resources

All resources →