Small services companies run on gluework. Outgoing invoices are drafted in one tool, received invoices tracked in another, expenses photographed and forgotten, engagements and vacation days managed in whoever's head is nearest. The data exists, but it's fragmented - so questions like "what did this engagement actually cost us" or "which documents back this withdrawal" take an afternoon to answer.
The first version of this back office ran on Google Apps Script bolted to spreadsheets. It worked - until it didn't: no types, no tests, no isolation between concerns, and every new feature raised the odds of breaking an existing one.
The breaking point came when the business outgrew the scripts: adding employee engagements, vacations, and expense tracking meant wiring ever more logic into a single untyped codebase that nobody could safely change.