Every service business runs on a lifecycle. A job is requested, quoted, scheduled, done, invoiced, paid. Everyone in the company knows this lifecycle, and almost nowhere is it written down in the software. It lives across a CRM stage field, a spreadsheet column, and the dispatcher’s memory, and those three regularly disagree.
When we built BASELINE we made one early decision that shaped everything else: the lifecycle is the schema. Every job is in exactly one state. Every transition between states is named, permissioned, and logged. Nothing moves without the system knowing what moved it.
What this buys you
Three things, in order of how often they matter. First, the question “where is this job?” always has exactly one answer. Second, automation becomes safe to add, because an automation is just a transition with a machine pulling the lever, it can only move jobs along arrows that exist. Third, the audit trail writes itself: the history of a job is simply the list of its transitions.
The objection is always flexibility, “our process changes too much for a fixed map.” In practice the opposite holds. The process was always there; it was just implicit. Writing it down does not freeze it. It makes changes to it visible, discussable, and reversible instead of accidental.
“The boring substrate is the feature. Everything exciting we shipped later stood on it.
We have since started every platform engagement the same way: before models, before integrations, we draw the state machine with the client’s team on a whiteboard. It takes an afternoon. It is regularly the first time everyone in the room has seen their own process in one picture.