Product

Why we built a progress photo camera with no server

5 min read

The short answer

Progress photos are usually taken half-dressed, in a bathroom or a bedroom, and are often about a body, a medical recovery or a transition. The safest way to handle images like that is not to hold them at all. SameShot has no account system, no backend and no network calls, so the photos never leave the device and there is no copy anywhere to leak, subpoena or sell.

Look at where progress photos actually get taken. A bathroom, a bedroom, in underwear or less, often at seven in the morning. The subject is frequently a body someone is unhappy with, a skin condition mid-treatment, a surgical recovery, a hair transplant, a pregnancy or a gender transition.

It is difficult to think of a routine photograph that carries more personal weight, and most apps in this category upload them to a server.

Usually for defensible reasons: cross-device sync, backup, or an analysis feature that runs on hardware bigger than a phone. But the result is the same. A copy exists somewhere you do not control, on infrastructure you cannot inspect, governed by a policy that can be revised.

Policy privacy versus structural privacy

There are two very different things a company can mean by private.

Policy privacy is a promise about behaviour. We encrypt in transit. We do not sell your data. We delete on request. These can all be true and made in good faith, and they still depend on the company continuing to choose them, staying solvent, not being acquired, and not being compelled by a court. The data exists, and the protection is a decision.

Structural privacy is a property of the design. The data was never collected, so there is no decision to keep making. Nothing to breach, nothing to hand over, nothing to change the terms on later.

Structural is strictly stronger, and it is only available if you are willing to give up the features that require a server.

What we gave up

Being specific about the cost is the only way this argument is honest.

No cross-device sync. Your projects live on one phone. Change phones and you move them yourself.

No cloud backup. Lose the phone without exporting and the photos are gone. This is a real risk and we do not pretend otherwise.

No server-side analysis. No body composition estimates, no physique scores, no AI reading your photo and returning a number. Those genuinely need more compute than a phone offers, and we do not offer them.

No web gallery, no sharing links, no accounts. Nothing that would require knowing who you are.

Some of those are features people want. The position here is not that they are worthless, it is that for this particular category of photograph the trade favours the other side.

The trade, stated both ways

What you give up

No cross-device sync. No cloud backup, so losing the phone without exporting loses the photos. No server-side analysis of any kind. No web gallery or share links.

Real cost

What you get

Nothing to breach, subpoena, sell or change the terms on later. No account, no tracking prompt, no spinner. The app behaves identically in a basement gym with no signal.

Structural, not promised
Policy privacy is a decision a company keeps making. Structural privacy is a property of the design. Only the second one survives an acquisition.

What structural privacy actually looks like in the app

Not adjectives, the concrete list:

  • No account system. No email, no password, no sign in. There is nothing to log into.
  • No backend server. There is no API to call.
  • No network calls of any kind. The app functions completely with the phone in airplane mode. This is the claim that is easy to verify: turn off the network and use the whole app.
  • On-device ML only. Face and pose detection run locally. No image is transmitted for inference.
  • No analytics SDK, no ad SDK. There is no usage telemetry, so there is no tracking prompt, because there is nothing to track.
  • Privacy label: Data Not Collected. With a privacy manifest declaring no tracking and an empty collected-data list.
  • App Lock. Optional fingerprint, face or PIN before the app opens, entirely local, off by default.
  • Photo library access is write-only. The app can save an export when you ask it to. It never browses your library. Importing goes through the system picker, which runs outside the app and hands over only the specific images you chose.

Back your photos up yourself

The honest consequence of no cloud backup is that backup is your job.

Export the sets that matter and put them wherever your other important files go. Do it periodically rather than at the end, because the value of a progress set is concentrated in its earliest frames and those are the ones that have been at risk the longest.

We could add automatic backup. It would require building the exact thing this design exists to avoid, so instead the app is loud about the trade and leaves the decision with you.

The part that has nothing to do with privacy

There is a side effect worth mentioning, because it turned out to matter more than expected.

An app with no network has no loading states, no sync conflicts, no offline mode to degrade into and no reason to ever show a spinner. The camera opens, the overlay is there, the shutter fires. On a bad connection, in a basement gym, on a building site with no signal, it behaves exactly the same as anywhere else.

Not the reason we built it this way. A good argument for it anyway.

Frequently asked questions

Does SameShot upload my photos?

No. The app has no account system, no backend server and makes no network calls of any kind. Every photo stays in local storage on the device, and the app works with the phone in airplane mode.

How does the app analyse photos if nothing is uploaded?

The face and pose detection that keeps the frame steady runs on the device itself using on-device ML. It never sends an image anywhere. It is also doing something much narrower than analysis: locating a face or a body outline so the overlay has something to hold onto.

What happens to my photos if I delete the app?

They go with it, because the app's storage is the only place they exist unless you exported them yourself. There is no cloud copy to clean up and no account to close, which is the trade-off for there being no cloud copy to leak.

Should I back up my progress photos?

Yes, if losing them would matter. Export what you want to keep and put it wherever you normally back things up. The app deliberately does not do this for you, because doing it automatically would mean building the thing this whole design avoids.

Line the next one up before you take it.

SameShot puts your last photo over the live camera so the framing stops drifting. Free on Google Play, no account, nothing uploaded.

Get it on Google Play

The setup for your subject

Keep reading