Site photos sorted into the daily record
It's 5:40 p.m. in the site trailer and the superintendent is scrolling his camera roll — hundreds of photos from the week — looking for the one trench shot taken before backfill. It exists. Finding it is the job.
The problem
A superintendent's phone holds the best documentation on the job and the worst archive. Hundreds of photos a week: racking progress, a delivery ticket, a damaged module, the trench before backfill. In the camera roll they are chronological and unlabeled. In a dispute or a closeout review, the photo that settles the question exists — and takes an hour of scrolling to find, if it is found at all.
The pre-cover photos are the painful ones. Once conduit is buried or a roof section is closed up, the photo is the only evidence of what went in. Crews take them faithfully, then they live on one phone, one cracked screen away from gone. Tagging by hand never survives the week — nobody renames files at 6 p.m.
How the agent workflow works
Photos flow in as they are taken.
What it reads:
- Photos synced from the superintendent's and foremen's phones to one shared project folder — no new capture app; the sync is the system.
- Each photo's timestamp, plus whatever the sender adds: a caption, a voice note, or nothing.
- The project's structure — areas, phases, and cost codes — so a photo has somewhere meaningful to land.
What it produces: Every photo filed by date and area, tagged with what it appears to show — racking, modules, trench, delivery, damage — and matched to a cost code. A daily set rolls into the daily record automatically: today's photos attached to today's log, not reconstructed on Friday. Search becomes plain language — "trench photos from the week of the 12th" returns a set instead of a scroll.
Where the human checks it: The superintendent glances at the day's filed set and fixes the tags that matter. Anything evidentiary — damage, pre-existing conditions, failed inspections — gets human-confirmed captioning, because those photos get quoted later. The agent organizes the many; the human certifies the few.
What you need to set it up
- One shared destination the phones already sync to. If photos must be manually uploaded at day's end, the system dies in week two.
- A short, fixed tag list matched to your areas and cost codes. Twenty tags that fit the job beat two hundred that fit a textbook.
- Buy-in from whoever takes the photos. If syncing feels like surveillance, the best photos quietly stop flowing.
- A retention decision: where the archive lives when the job closes, and who owns it — warranty timelines run years past the last day on site. Cost is honest and small: this runs on the storage and AI assistant you already pay for.
Expect the first week's tags to need correction while the agent learns your vocabulary.
Where it breaks
Look-alike areas. Two identical roof sections. The agent can read a photo's content but not always its location, and a confidently wrong area tag is worse than none. Captions — even two words — fix most of this.
Timestamps lie when phones do. A phone with a wrong date, or photos forwarded through a chat app that strips the original time, files good photos on the wrong day.
It can't judge importance. A hundred progress shots and one hairline crack get filed with the same neutrality. Human captioning on anything abnormal is the rule, not the exception.
Sync gaps look like no work. A dead phone or sync turned off — the archive shows a blank day that wasn't blank. Check the inflow count before trusting a gap.
The bottom line
The photos already get taken. This workflow makes them worth something later — filed by day, area, and subject while the context is fresh, attached to the daily record instead of stranded in a camera roll.
Start with one crew and one area for two weeks, then try to find a specific photo from day three. That search, timed, is the whole review.
Related use cases
- Daily logs that write themselves from delivery tickets Reporting
- Production reports built from field counts Reporting
- Manpower forecast by cost code Reporting