← All work

Field Services · App Development

Sample writeup

A tech-on-truck app the field crews actually open twice.

A national roofing contractor's field crews still ran on paper, photos, and texts. We embedded with two crews for a week, designed and shipped a React Native app for inspection, quoting, and customer sign-off, and made the AI plumbing under it invisible.

Client
Anonymized · National Roofing Contractor
Industry
Field Services
Region
United States
Duration
14 weeks

The challenge

Field crews disliked every app the office had tried. Inspections still happened on paper; quotes came in 24 to 48 hours after the visit; signed contracts went missing. The leak was real money: average lost quote was worth $4,800.

The approach

Identify. Build. Adopt.

01

Identify

We rode with two crews for a full week, watched how inspections actually happened, and reduced the build spec to the three screens crews would actually use on a ladder: capture, quote, sign.

02

Build

React Native (Expo) for iOS + Android, offline-first. AI does the unglamorous middle: turns roof photos into measurements, drafts the quote, generates the customer-facing PDF. Signed contract flows straight into the CRM. The app never feels like AI to the crew. That's the design.

03

Adopt

Phased rollout, two crews per region. We were on-site for the first install and in their Slack channel every day for the first month. Tuned the quote draft model against the first 200 real jobs before opening it to the next region.

Outcomes

What changed, measurably.

92%
Daily active among field crews
Same day
Inspection → signed quote
+18%
Quote-to-contract conversion
0
Lost contracts in the first 90 days
Services used
App DevelopmentAI Document IntelligenceAI Workflow Automation
Every app the office bought before this one died in our truck. This one we open before we get on the roof.
Field Crew Lead
National Roofing Contractor

Got a similar leak?

30 minutes with the founders. Bring us the workflow that hurts most. We'll cost the leak live and tell you whether the same playbook deploys here.