Feature
Photos linked to the tree,
not the camera roll.
Take a photo of a basal wound, a codominant stem, a crown dieback — and it belongs to that tree from the moment you snap it. Not "somewhere in the 80 photos from Tuesday," not "the fourth one, I think."
Tree #14 — Red Oak (Quercus rubra)
Multiple photos, one tree record
Open a tree, tap to add a photo, keep going — there's no cap on how many attach to a single tree. Each photo shows one of five clear states as it moves through the pipeline — loading, loaded, retry-pending, sync-error, or a deleted placeholder — so you always know if a photo actually saved before you walk away from that tree.
Content-addressed, not duplicated
Photos are stored as content-addressed blobs — identified by a hash of the file itself, never inlined into the project's data document. A photo caps at 20MB and gets rejected client-side before upload even starts if it's bigger, so a huge RAW-format shot doesn't quietly stall your sync queue.
Named by tree number, automatically
On export, every photo lands in an images/ folder
named Tree-014_photo1.jpg,
Tree-014_photo2.jpg, and so on — the tree number is baked into the filename, not
left for you to sort out later. Multi-stem trees use a Multi- prefix, panoramas use
Panorama-, so the file listing tells you at a glance what kind of record each photo
belongs to.
There's an optional photo compression setting for export — useful if you're emailing a ZIP to a client on a slow connection and don't need full-resolution images in their inbox. It's a flag you choose, not something that happens automatically and quietly degrades your evidence photos.
Panorama pins for wide-site context
Not every useful photo belongs to one tree. A wide shot of a stand of trees, a property overview, a reference angle showing how several trees relate to each other — LogLog has a separate Panorama pin type for exactly these, shown in purple on the plan so they're never confused with a single-tree record.
Reliable upload, even on a bad connection
Photos upload as a background batch once you're in range, capped so a batch doesn't grow unwieldy — an oversized photo uploads on its own rather than blocking a dozen smaller ones queued behind it. You're not stuck watching a single stalled upload hold up the rest of your sync.
A camera roll with no names and no tree numbers, ordered only by timestamp, turns into a guessing game the moment you're back at the office trying to match a shot to a record. Attaching a photo at the moment you take it, and letting export handle the naming, means opening tree 14 shows tree 14's photos — nothing to reconstruct later.
A photo doesn't disappear if your phone does
Because photos are stored locally the instant you take them, closing the app, losing signal, or the phone dying mid-survey doesn't lose the photo — it's already saved on the device and queued to upload whenever a connection and battery are both available again. The five-state indicator on each thumbnail (loading, loaded, retry-pending, sync-error, deleted-placeholder) means you can tell at a glance, before you leave a site, whether every photo you took actually made it into the record — instead of finding out three days later that half the shots from tree 22 never saved.
Photos ship inside the same package as everything else — see the full export contents. Working somewhere with no signal? Photos still queue and upload fine — see offline mode.
Built for what the photo is actually for
A tree photo in a professional survey isn't a snapshot — it's evidence in a condition report, documentation for an insurance claim, or a reference for whoever reviews a preservation category call. Photos need to be findable by tree number months later without anyone remembering which folder they landed in. Naming and organizing at capture time, rather than during a cleanup pass afterward, is what makes that possible in practice instead of just in theory.
Never lose a photo to a bad filename again.
Snap one in the field today and see where it lands in the export.