Architecture · FS-02
Multi-Crew Field Operations Center
ARCHITECTURE · $10K–$20K PROJECT BANDLive crew positions and status, truck-level parts inventory checked at pick-up, warranty-versus-billable decided before the visit rather than at invoicing, per-crew daily margin, and a continuously building contractor hours ledger.
Every figure in this console is sample data, shown to demonstrate the interface. It is not real client data and not a performance claim.
The problem this is shaped around
A dispatcher steering six crews is holding truck inventory, warranty status, and who is actually near the next call in their head, and re-deriving it every time the phone rings. The cost is not the mistakes — it is that the job can only be done by whoever is currently holding all of it in their head.
How work moves through it
Stage 1
Call lands
Job created with service address, equipment history for that address, and warranty status resolved before anyone is assigned.
Human step
Dispatcher assigns
Crew list ordered by proximity and current status, with the truck's parts inventory checked against what the job needs at the moment of assignment.
Stage 3
Parts drawn from the truck
The draw decrements truck stock and, below the reorder threshold, raises a warehouse replenishment for that specific vehicle rather than a general one.
Stage 4
Visit closed
Warranty or billable was decided at pick-up, so the invoice status is already correct. Photos taken on site attach to this job, not to a camera roll.
Stage 5
Margin visible same day
Labour, parts and travel roll into a per-crew per-day figure the owner can read at two in the afternoon rather than on the fifteenth of next month.
Gold marks a step a person takes. There is always at least one, on purpose: the system prepares and displays, a human confirms and executes. That is the rule for money movement and for anything a model extracted from a document, and it is not negotiable on a build.
Decisions taken at the schema, not retrofitted
Inventory is per vehicle, not per company
A company-level stock figure cannot answer the only question that matters at dispatch: does the van going to this call have the part on board. Aggregating up is easy; disaggregating a company total later is not possible at all.
Contractor hours accumulate continuously
The 1099-NEC threshold is an annual total, and a business that starts counting in January of the following year has already lost the detail. The ledger is built as the work happens so year-end is a read, not a reconstruction.
Every file is bound to the record it belongs to
A photo, receipt or signed document is stored with a pointer to the specific job, invoice or claim it belongs to, plus who uploaded it and when. The test is whether searching a transaction a year later surfaces its own proof automatically. A folder of unlinked images fails that test, and it is the state most businesses are in.
Integration credentials belong to the client
Google, the payment processor, the bank aggregator, the messaging bot — each is registered under the client's own account and authorised by them through the provider's own flow. We never hold their password and they can revoke access at any moment without asking us. It costs an extra onboarding step and it means the client is never locked in by a credential they do not control.
Where it breaks, and what it does about it
Anything can be made to work on a good day. This is the list that decides whether a system survives a bad one — and the honest cost of each answer, because none of them are free.
| When this happens | The system does this | What that costs to build |
|---|---|---|
| A crew's device loses signal mid-job | The mobile view writes locally and syncs when the connection returns, with the dispatcher seeing a stale-position marker and a last-seen time rather than a crew that appears to have stopped existing. | Offline write handling and conflict resolution on sync — the single largest line item in a field build, and the one most often cut. |
| Two dispatchers assign the same crew | Assignment is a claim on the crew's time block; the second attempt is refused with the conflicting job shown rather than queued behind it. | Scheduling has to be modelled as intervals rather than as a status field. |
| The parts count on the truck is wrong | The system does not pretend otherwise. A draw that would take stock negative is allowed but flagged, generating a reconciliation task for that vehicle, because refusing the draw would mean blocking a technician who is standing in front of a customer. | An exception queue somebody has to actually work through each week. |
| A visit is closed with no warranty decision | It cannot be. The field is required at close, and the default is billable — the more conservative option for the business, and the one that surfaces an argument now rather than after an invoice goes out. | One more tap per job, which crews notice and complain about in week one. |
What this deliberately does not do
- It does not route optimally across a whole day. It orders crews by proximity and status at the moment of assignment; genuine multi-stop route optimisation is a different, much larger problem and pretending otherwise would be dishonest.
- It does not run payroll. It produces the hours ledger a payroll system consumes.
- It does not decide warranty coverage. It surfaces the equipment history and makes a person choose, because the manufacturer's terms change and the system's copy of them would go stale silently.
- Live crew position depends on the crew's own device having signal. There is no magic here and the interface says so rather than showing a confident wrong dot.
Book an architecture scoping session
An hour on your actual operation — where the work currently queues, what gets re-keyed, which step everyone has quietly built a spreadsheet around. You leave with a diagram like the one above drawn for your stack, whether or not you build it here. Scope is written before any payment, always.
The linked walkthrough is an interactive demo, not a deployment: it runs entirely in your browser with sample data and resets when you refresh it. This page describes the architecture built when a business commissions the system — not a claim that this particular one is running anywhere. Systems are built on infrastructure we operate, and your data stays yours and is exportable on request at any time, including if you leave.
FS-02 · field-operations