Skip to content

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)

Tree-014_photo1.jpg — canopy overview
Tree-014_photo2.jpg — basal wound
Tree-014_photo3.jpg — bark detail

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.