The problem
On a heavy-civil site the same quantity gets written three or four times — paper, WhatsApp, spreadsheet, billing statement — and never reconciles. The two biggest costs, fuel and machine hours, go unmeasured; profit only shows up when the job ends; retainage, disallowances and change orders are tracked from memory; and one expired certificate loses the next bid.
The solution
One fact, captured once: the daily report filed at the work front — offline, with GPS- and time-stamped photos — becomes production entries, the billing statement and BI with no re-entry. Hour meters and refuelling are logged by the operator, and automated routines watch maintenance, fuel anomalies, late measurements and expiring documents.
The platform on screen
Click any screen to enlarge.
Commercial highlights
Local outbox with exactly-once delivery, tested under forced network loss and app restarts — 320+ automated tests. No field entry is ever lost.
Daily report → production → billing → BI in a single chain, with no re-entry. The statement is built from approved production, with a photo-evidence dossier per line item — fewer disallowances, faster approval. On public-works contracts the statement prints in the agency’s own format, with the calculation memorandum, BDI and tender header.
Hour meters and refuelling logged by the operator become cost per machine-hour, liters/hour, idle time and fleet utilization — with fuel anomalies flagged the same day. That cost is apportioned across valued production and becomes margin by service, an ABC curve, an income statement and accounts payable/receivable: the job’s profit shows up during the job, not at the end of it.
The proof is live: the same codebase runs for a second contractor under its own brand, with a separate database and API in a Brazilian region, its own CI and its own domain.
Technology
This product was born from a real problem. Yours can be too.