Site inspection form

A mobile app for sales consultants, used on site

Running as a pilot on production.

A consultant signs in with the CRM, picks the visit from their own calendar and works through a shot list, with a help line for each photo. Photos queue on the phone where there is no reception. The app reads the meter type, storeys, roof material, inverter label and power phases from the photos and offers each one for the consultant to confirm: nothing is guessed and the consultant has the last word, a rule settled by an accuracy trial on 73 real photos. One photo can cover several shots, the aerial image stands in for the roof photo, and the questions only show what applies to what is being quoted. On submit it works out the inclusions, flags whether a site visit is needed, scores the job's difficulty, builds the PDF and creates one quote per system option in the CRM under the consultant's own name. Next, in testing: the form prices the quote itself and sends it to the customer to review and sign electronically.

Built for sunlight and thumbs. Every colour pair was computed against the WCAG formula, not eyeballed, and the small text and buttons were re-toned to pass. The header shrinks as you scroll, readings appear beside the fields they fill, and the layout was walked screen by screen at phone and tablet size, checked against the best field-inspection apps, then put to a multimodal model for a second opinion before the refinement pass was built.

20 minsaved per visit, the consultants' estimate
80 visitsa day across ten consultants
~27 hof consultant time a day, projected

Built for no reception

Nothing typed on site is lost

Driveways, rural roads and meter boxes are where the signal drops. The form treats a lost connection as normal, not as an error.

Saved as you go

With signal, every answer is on the server within a second of being typed. Without it, changes and photos wait on the phone and replay in order once it reconnects. If the same inspection was changed on another device in the meantime, the server sends back its copy and the phone merges the two rather than overwriting either.

Submit with no signal

A consultant can press Submit in a dead spot. The phone first runs the same checks the server will, and if they pass it queues the submit. It sends by itself once the answers and photos ahead of it have landed, and the server validates exactly what arrived. Anything refused shows on the form and on the home screen, and stays there across reloads.

A submit that resumes

Submitting is a series of recorded steps: the inspection record, the opportunity, a quote per option, the photos and the PDF, and the service job when a site visit is needed. If a step fails, pressing Submit again resumes after the last one that finished, so no second record, quote or service job is ever made. The finished page then shows what each quote now holds in the CRM.

Never type the same thing twice

One-tap "Same as" chips where an answer usually repeats another, copy on a quote option, and a "Copied from" label until the consultant changes the field. Facts about the house can be copied from an earlier inspection of the same job, address or customer, but never measurements, conditions or photos. Photo markup works offline and stays with its photo.

Readings and voice

The model proposes; the consultant decides

The form reads photos and listens to the consultant, under one rule: nothing it reads or hears becomes an answer until the consultant has seen it.

A reading is a proposal

A reading stays a proposal until the consultant saves the value. A field already answered is never proposed over, and a photo the consultant has labelled is never relabelled. Where a detail cannot be made out, the reading says so rather than filling a gap, and readings that did not pass the trial stay switched off until a re-trial does.

What it is never asked

Aerial images, markups and map screenshots are never read, as the imagery licences require. Compliance judgements and the roof type are never proposed: those stay with a person. There is no confidence percentage on screen either; a reading is offered only when it is confident, or not at all.

Talk to fill

Live since October 2026: a consultant can talk instead of typing. Each clip goes to a language model hosted in Australia, which returns a transcript and the answers clearly said. The server checks every value against the form before using it: quoted in the transcript, valid, and live on this job. Plain answers fill in with a one-tap Undo, while changes to the consultant's own answers, numbers and new rows wait for a tap.

The microphone waits for a tap

The microphone only ever starts on the consultant's tap, the audio is never stored, and typing is never taken away. At the end, a wrap-up reads out each required question still open in a pre-recorded voice, recorded once with no customer data in it, and "skip", "say that again" and "stop" work by voice.

FastAPI • SQLite • Salesforce • aerial imagery • a vision model, confirmed by a person