SOLUTION · N · 004

An operational backbone for a 600-tech field service.

A state-driven service platform: enforced lifecycles, audited transitions, technician coordination, operator-shaped surfaces, and analytics pipelines on AWS. Built around the actual semantics of field service — not generic ticketing.
STATUS
IN PRODUCTION
STATES
8 enforced
SCALE
600 techs · 14 regions
SLA
99.6% achieved
Four layers of enforced operation.
BASELINE is built from four primitives. The shape varies between deployments; the substrate does not.
// 01

Enforced lifecycles

Eight named states with declared transitions. A service call cannot end up in an undefined state, cannot skip audit, cannot close without a paper trail.

  • 8 enforced states
  • Compile-time transition checks
  • No drift between code & docs
// 02

Technician coordination

Assignment, routing, status, callbacks, revisits — all expressed as transitions. The dispatcher console is shaped like the job, not like a database table.

  • Regional dispatch view
  • Real-time technician status
  • One-click reassign
// 03

Audit-grade transitions

Append-only event log. Every state change carries operator, timestamp, reason, and reversal path. Three months later, you can reconstruct any job's history.

  • Append-only event store
  • Per-row provenance
  • Replayable to any point
// 04

Operator-shaped surfaces

Dispatchers, supervisors, regional managers, auditors — each sees what they need and can act on what they own. Role-based logic baked in, not painted on top.

  • 4 operator personas
  • Row-level security
  • Audit on every override
How BASELINE replaces the substrate.
Four phases, region by region. Every cutover is rehearsed, instrumented, and reversible.
01
OBSERVE

Ride along.

A principal spends a week with dispatchers and technicians. The flowchart is rarely the workflow. We map what actually happens — and where it differs from what should happen.

Annotated as-is workflow
02
MODEL

Declare the state machine.

Eight states, named transitions, audit obligations, escalation paths. Drawn on paper, signed by operators, then translated into code.

State diagram + transition table
03
MIGRATE

Cut over by region.

One region at a time. Rehearsed cutover, reversible at any point, instrumented in advance. The CRM stays where it was; BASELINE owns the record-of-work.

Cutover plan + dry runs
04
OPERATE

Hand the keys.

Runbooks, on-call schedule, dashboards, escalation paths. Your operators own the system at the end; we are on call for surprises.

Runbook + on-call rotation
What BASELINE is built on.
Boring infrastructure. Durable, instrumented, readable in three years.
CORE
TypeScript · Postgres
Typed state machines
EVENT STORE
Append-only · audited
Source of truth
QUEUE
SQS · Temporal
Durable execution
API
tRPC · REST
Mobile + web clients
UI
React · operator-shaped
Dispatcher console
DEPLOYMENT
AWS · multi-region
SOC 2 ready
Questions we get asked.
Six that come up in almost every BASELINE intake.

No. The CRM stays where it is — that is the record-of-customer. BASELINE owns the record-of-work. The two systems talk; neither tries to be the other.

For the CoolDesk deployment, the existing CRM became a read-only customer index. BASELINE took over dispatching, lifecycle, audit, and operator surfaces. The dispatchers had one fewer place to click; the auditors had one source of truth.

Workflow tools optimize for drawing diagrams. State machines optimize for being correct.

Every workflow tool we inherited at CoolDesk had an unreachable state, a transition that fired twice under contention, or a guard that compiled but never ran. We declare the state machine explicitly and enforce it at runtime — the diagram is generated from the code, not the other way around.

The state machine is the same shape regardless of scale; the operator surfaces, regional sharding, and on-call rotations are what scale. Multi-region from W1. We have load-tested BASELINE at 4× the CoolDesk production traffic — the bottleneck is operator decision-making, not the system.

One operator action, with a paper trail, undoes the most recent transition. Two actions back out a multi-step sequence. We do not delete history; we append compensating events. Three months later, you can reconstruct what happened on any job at any point in time.

In a regulated field-service context, this is not a feature — it is the substrate.

Typical 10–14 weeks from intake to first region in production. We cut over one region at a time after that — usually one per 2–3 weeks, depending on regional volume and complexity. Full migration for a 14-region operation lands in around 9–12 months.

That is the design constraint. The IaC is in your repo, the state machine is documented in the same language as the code, runbooks are written, and the on-call rotation transitions to your team at the end of the engagement. Our retainer is a choice, not a leash.

BASELINE in your operation, region by region.

Send a brief — your operation, your states, your audit obligations. We respond in 48 hours with an architecture sketch.