Field services

Field reports for an energy audit company

An auditor visits a building, records measurements room by room on a tablet, photographs problems, and the system produces a client report with recommendations and estimated savings. Reports work offline on site and sync when back in range.

Automatically generated draft

Written by machine against our own engineering playbook. The company is invented; the decisions are the ones we would make on a real build. A reviewed blueprint goes further — nine sections, agreed line by line, and it is what the build is tested against.

Section 01 · What has to work

An auditor on-site must capture offline room measurements and photos that sync reliably when connectivity returns to generate an accurate client savings report.

Section 03 · Screens

Every screen, and what it is for.

  • ›Audit List — Auditor views assigned buildings, opens audits, instant list load from local cache.
  • ›Room Detail — Auditor inputs dimensions and notes, instant local save without network delay.
  • ›Defect Capture — Auditor snaps and tags photos to problems, instant camera preview rendering.
  • ›Sync Status — Auditor monitors upload queue and conflict resolution, instant queue state update.
  • ›Report Review — Client or manager inspects generated savings estimate, instant PDF viewer initialization.

Anything not on this list is not in version one. That is what keeps a fixed price fixed.

Section 04 · The data model

What it stores, and who can read a row.

Audit

id uuid, building_name text, status enum(draft, syncing, completed), created_at timestamptz, auditor_id uuid

Access · Auditors read assigned audits; managers read all company audits.

Room

id uuid, audit_id uuid, name text, length numeric(10,2), width numeric(10,2), height numeric(10,2)

Access · Auditors read rooms belonging to audits they are assigned to.

Defect

id uuid, room_id uuid, description text, photo_path text, estimated_cost numeric(10,2)

Access · Auditors read defects for rooms in their assigned audits.

Recommendation

id uuid, defect_id uuid, text text, projected_savings_annually numeric(10,2)

Access · Auditors and managers read recommendations linked to audit defects.

Those access rules belong in the database, not in the screens. Someone who edits the address bar still cannot read a row that is not theirs — and the test that proves it blocks delivery if it fails.

Section 05 · States

draft → offline_recording → syncing → finalized | conflicted

Most scope arguments three weeks into a build are really arguments about a state nobody named at the start.

Section 06 · Where this breaks

What bites products like this one.

Two auditors edit the same offline building simultaneously, creating overlapping room measurements.

Store local edits with client-side timestamps and apply last-write-wins with manual conflict flag.

Large site photo attachments exhaust tablet storage or fail mid-sync over weak cellular signals.

Compress images locally prior to queue insertion and chunk uploads into resumable payloads.

Section 08 · Deliberately left out

What version one does not do.

  • ×What we would leave out of v1 — real-time multi-auditor collaboration on a single building, because offline conflict trees multiply complexity; add when teams exceed single-auditor jobs.
  • ×What we would leave out of v1 — direct PDF editing on the tablet, because layout engines bloat client code; keep generation server-side upon sync.

This is the section that protects the date, and the only place in the document where somebody says no. It is also why clients trust the rest of it.

Still open

What we would ask before quoting.

  • How should the app handle conflicting room edits if two devices sync changes for the same building after offline work?
  • Do recommendations rely on a static pricing formula per defect type, or must auditors input custom cost estimates on site?

Half of this already exists

Fieldline

The field half of this is a solved problem: routes assigned, work captured with no signal and synced later, and an alert when nobody shows up.

It is one of our pre-built products: the code is handed over to you, adapted to your own wording and rules, and the rest of the specification above is built on top of it rather than from scratch.

Your product, not this one

Get this written for what you are actually building.

Describe it in a sentence and the generator returns the same sections for your own product. Free, no email, nothing saved to a list.

Next step

Find out if your idea fits in 10 working days.

Tell us what you want to build. We reply the same day with a straight yes, no, or here is what we would cut.

NDA available on request