nexa
ExploreServicesAboutTeamFAQBlogContact
GitHubStart a project
Blog · Engineering

GPS stamps you can trust on a building site

FieldStamp burns location, time and notes into every photo. The hard part was being honest when the phone does not know where it is.

Ethan

Tech Lead · Mobile & Web

May 12, 20264 min read

On this page

  1. Why metadata is not enough
  2. Anatomy of a stamp
  3. When the phone is not sure where it is
  4. Drawing the stamp
  5. Reports people actually send
  6. Questions we get

FieldStamp GPS Camera exists for people who need to prove where and when a photo was taken. Site managers tracking progress, inspectors documenting damage, anyone filing a compliance report. A photo without that context is a picture. With it, it becomes a record, and a record that is wrong is worse than no record at all.

TL;DR
  • The stamp is drawn into the pixels, because metadata gets stripped when photos are shared.
  • Location accuracy is shown, not hidden. A weak fix is labelled as weak.
  • Photos are grouped by project and exported as a plain PDF people can forward or print.

Why metadata is not enough

Every phone already writes location into a photo's EXIF data. The problem is what happens next. Many messaging apps, email clients and upload forms strip that data without telling anyone, usually for privacy reasons that make sense. By the time a site photo reaches the client or the insurer, the proof it was meant to carry is often gone.

So FieldStamp draws the information into the image itself. Whatever happens to the file later, the context travels with it, visible to anyone who opens it.

  1. CapturePhoto from the in-app camera
  2. Read locationCoordinates, accuracy and time
  3. Draw the stampBurned into the pixels
  4. Add to reportGrouped by project, exported as PDF
From shutter to report. The stamp becomes part of the image so it survives sharing.

Anatomy of a stamp

The stamp sits in a band along the bottom edge of the photo. Each line answers a question someone reviewing the photo will ask, in the order they usually ask it.

Project and note
What this photo is about, written by the person who took it. "Level 3, east stair, before pour."
Date and time
Local time with the time zone, so a photo taken late at night is not misread as the next morning elsewhere.
Address
A readable street address when one can be resolved. People recognise addresses faster than coordinates.
Coordinates
Latitude and longitude for anyone who needs to put the photo on a map precisely.
Accuracy
How far off the location might be. This is the line most apps leave out, and the one that matters most when something is disputed.

When the phone is not sure where it is

Inside a concrete stairwell or a basement car park, a phone's location can drift a long way. The tempting thing is to stamp whatever comes back and move on. We decided the stamp should never look more certain than the data behind it.

Fix qualityWhat the camera showsWhat the stamp says
GoodShutter ready, accuracy in greenCoordinates and accuracy as normal
FairA short wait while the fix improvesCoordinates with the wider accuracy shown
PoorA hint to step closer to open skyClearly marked as low accuracy
NonePhoto can still be taken"Location unavailable", never an old position
The one rule we do not bend

A previous location is never reused silently. If the phone does not know where it is now, the stamp says so. A confidently wrong stamp can end up in a dispute; an honest one rarely does.

Drawing the stamp

The drawing step is simple in principle: measure the text, draw a dark band, write the lines. The details are what make it readable on every photo, from a bright facade to a dark basement.

function drawStamp(photo, info) {
  const lines = [info.note, info.time, info.address, info.coords, info.accuracy]
    .filter(Boolean);
  const scale = photo.width / 1080;          // same look on any resolution
  const band = lineHeight * scale * lines.length + padding * 2;

  fillRect(0, photo.height - band, photo.width, band, "rgba(0,0,0,0.55)");
  lines.forEach((text, i) => drawText(text, padding, baseline(i), scale));
}

Two details mattered more than we expected. Text scales with the photo width, so a stamp looks the same on a 12 megapixel shot and a cropped one. And the band is semi-transparent rather than solid, so it never hides the bottom of the photo completely, which is often where the floor, the crack or the damage is.

Reports people actually send

Most users do not want a folder of photos. They want something they can attach to an email at the end of the day.

  1. Pick a project

    Photos are already grouped by the project chosen when they were taken.

  2. Review and reorder

    Drop the blurry ones, put the important ones first.

  3. Export the PDF

    Each page shows the photo, its stamp and the note underneath. Plain on purpose, because it often ends up printed or forwarded to someone who has never heard of the app.

A stamp that admits it is unsure is more useful than one that is confidently wrong.

Questions we get

Can the stamp be edited after the photo is taken?

The note can be corrected before export, but time and location are written at capture. That is the point of the stamp.

Does it work without mobile data?

Yes. GPS does not need data. The street address may be missing until there is a connection, but coordinates and accuracy are always recorded.

Why not just use the phone's built-in camera?

The built-in camera stores location in metadata, which is easy to lose. FieldStamp makes the information visible and keeps photos organised by project for reporting.

Mentioned in this post

FieldStamp GPS Camera

Case study

Work with us

Need an app like FieldStamp GPS Camera built?

Our services

Keep reading

All posts
  • AI can design an app now. Are designers redundant?
    Read post

    Design

    AI can design an app now. Are designers redundant?

    AI makes the first draft of a screen cheap. That shifts design work to what matters most: understanding users and choosing what is right for them.

    Tina· Oct 10, 20266 min read
  • AI in software development: turn change into an advantage
    Read post

    Engineering

    AI in software development: turn change into an advantage

    AI does not replace technical thinking. With the right process, it frees teams to focus on the decisions that make products better.

    Ethan· Oct 9, 20264 min read
  • Adding AI to an app without a surprise bill
    Read post

    Engineering

    Adding AI to an app without a surprise bill

    Most of the cost of an AI feature is decided before the first request. Model routing, caching, context size and hard limits, in order of impact.

    Ethan· Oct 7, 20267 min read
nexa
ExploreServicesAboutTeamFAQBlogContact

© 2026 Nexa Tech. All rights reserved.

Web · Mobile · Open source