/
Overview
SiteDay is our own product for sitework contractors: the grading, excavation, utility and paving crews that prepare a site before anything is built on it. A foreman logs crew, equipment hours, quantities and photos on a phone that often has no signal. The office reviews the day the same evening, the owner sees every job's production against plan, and approved hours sync to QuickBooks Online. It is live at siteday.app and running with pilot crews.
Key Features
The Challenge
Sitework production is recorded on paper, in text messages, or not at all. The foreman is the only person who knows what was moved and who was on site, the office types it up days later, and by the time an overrun reaches QuickBooks the job is over. Every app the industry has tried fails the same way: it needs signal in a trench, or it needs the office to set things up before the crew can use it, so it is abandoned in week one. The one rule that governed every decision was that a foreman must be able to log a full day offline in under 90 seconds.
The Solution
We built a Flutter foreman app that works fully offline, with a five-step day flow measured at about 80 seconds on the second day, background sync, and photos from the camera. A sync protocol handles idempotent pushes, version conflicts and photo uploads so a day is never lost or duplicated. The React office dashboard shows every active job for the day with quantities against plan per cost code, colour-banded, plus job to-date charts, a day review screen, and a weekly roll-up. Daily report PDFs are generated and emailed automatically after the cutoff time. Approved labour and equipment hours export to QuickBooks Online as time activities with a full sync log. The multi-tenant NestJS and PostgreSQL API runs on Render with Cloudflare Pages and R2, Resend for email, Sentry for errors, CI on every pull request and nightly device tests on an emulator.
Tech Stack
Let’s discuss how we can build something like this for your business.
Start a project