Android beta · v1.0.2 · out now

The people in the photo remember what you don't.

OurTales turns one photograph into a shared story. You add your side, then send a link — and everyone who was there adds theirs by voice, photo or text. Every version is kept. Nothing is public unless you say so.

Free · APK, 145.0 MB · Android 7.0+ · v1.0.2 · install steps

Find us on Product Hunt
  • Sign up with a username — no email, no phone number
  • Private by default, enforced in the database
  • Your words are never rewritten
Built for families, friends, teams and communities Postgres + row-level security 21 trust rules, verified by test Voice, photo or text — all equal
Why we built it

Your photos are safe. The stories behind them are not.

Every cloud album on earth solved storage. None of them solved the part that actually disappears — the voice that could tell you who is on the left, and why everybody was laughing.

Storage

A backup is not a memory

Ten thousand photos, perfectly preserved, and not one of them says what was happening. You kept the file and lost the story.

Silence

The person who knew stops being asked

The knowledge lives with the eldest, the founder, the one who organised it. Nobody sits them down — until the day it's too late to.

Scroll

Group chats bury what they collect

You post the photo, six people reply beautifully, and in a fortnight it is 900 messages up. The context existed. It just didn't stay anywhere.

How it works

Three steps, and only one of them is yours.

The hard part of collecting memories was never the collecting — it was getting everyone else to take part before the moment passed. So the asking is one screen, and answering is a voice note.

Two figures silhouetted against a sunset over water, one pointing out to sea.

You start it

Post one photo and say what you remember — typed, or just talk and let it transcribe. Add when and where if you know them. Guessing is allowed; the app records that you guessed.

F Scanned it at the table · voice note
N Opened your link · added a photo
S Typed two lines from her phone

They add theirs

The people who remember are usually in the room, so the invite is a QR code you hold up — or a link you send. They install OurTales and pick a username: no email, no phone number, no real name.

The story

The morning at the shore. The tide was far enough out to walk on the flats. Memories differ on the year: the owner remembers 1998, Faisal remembers 1999 — both are kept, neither is chosen.

Certain I think Not sure

It becomes one story

Everything gathers into a single narrative with every claim attributed and every disagreement kept side by side. Nobody's words get rewritten. Nothing gets published until you approve it.

Inside the app

Built for the people who were actually there.

Voice, photo and text weigh the same

Three ways to answer, presented as equals — because the best account of a night is usually spoken, not typed. Voice notes play back in place, with the speaker attributed.

Circles, not one big feed

Family, friends, work and community stay separate. A photo goes to the circle it belongs to, and the people in that circle are the only ones who ever see it.

FamilyFriendsTeamCommunity

Disagreement is a feature, not a bug

Every contributor marks their own certainty — certain, I think, not sure — and the app keeps it. When two people remember a night differently, the story holds both, attributed, and refuses to pick a winner. That is the single design decision the whole product turns on.

Where memories differ

Memories differ on when this was: the owner remembers it as 1998, Faisal remembers it as 1999. Both accounts are kept as given.

Generated from two contributions. Neither was edited.

Ask a question, not just post a picture

“Who remembers that old car?” goes out to the circle and comes back as a memory from each of them — one question, many answers, all kept together.

Two shelves, and the split matters

Memories are the photos you started. Shared with me are the ones you spoke into. The counter on your dashboard leads with voices collected, not photos stored — this is not a storage product.

The guarantee

An AI that cannot invent your past.

Every product in this category asks you to trust a prompt. Prompts are guidance. These are boundaries — triggers, check constraints and row-level security in Postgres, where a bad model response simply cannot get through.

21 trust claims, each enforced in the database
and verified by integration test

Nobody's words are ever rewritten

Yours or a contributor's. The owner may exclude a remark or delete it — never edit it. guard_remark_update

No invented people, dates or places

Proper nouns in the narrative are diffed against what people actually wrote. A violation falls back to a composer that can only rearrange, never add.

Faces are never identified from the image

Any observation that asserts who someone is gets dropped, not softened. The app will tell you the image wasn't analysed before it will guess.

Certainty stays the contributor's own claim

If the model returns a confidence level, it is discarded and theirs restored. Only the person who remembers gets to say how well they remember.

Nothing is public without your approval

A check constraint, not a code path — and withdrawing approval forces the story private again. public_requires_approval

An invite is a key to one memory, not to your account

Tokens are resolved server-side and rate-limited, and row-level security decides every read. Someone you invite to one photo sees that photo — never your other memories, and never who else was invited.

See a story

One photo. Three people. Two of them remember the date differently.

This is the whole product in one screen — and the reason the uncertainty sits above the narrative instead of in a footnote.

Two adults bending down to a small child at the edge of the sea on a wide, wet beach.

The morning at the shore

Draft · awaiting your approval

What happened

The tide was far enough out to walk on the flats. He had just started walking that summer and would not hold anyone's hand, which is what everyone remembers first.

From the owner's account and Nadia's voice note.

Where memories differ

Memories differ on when this was: the owner remembers it as 1998, Faisal remembers it as 1999.

In their own words

N

Nadia Certain

“We left before sunrise so the sand would still be cold. Nobody else was down there for an hour.”

S

Samina Not sure

“There was somebody else with us that morning. I can't place who.”

What a normal app would have done here

  • Picked 1998 because it sounded more confident, and quietly deleted a disagreement that was actually the interesting part.
  • Smoothed Nadia's cold sand and empty beach into “a happy day by the sea” — the sentence nobody said and nobody remembers.
  • Guessed from the pixels at who else was there, and been wrong in a document your grandchildren will read as fact.
Try it with your own photo →
Install it

Three minutes, and one warning screen we should explain.

OurTales is not on the Play Store yet, so you install it directly. That is normal for a beta, and it means the file comes from us rather than from a store listing — so here is exactly what you are getting and how to check it.

  1. Download the file

    Tap the button on this page from the phone you want it on. Your browser will ask you to confirm the download — that is the browser, not the app.

  2. Open it, and allow this one source

    Android will say it “can't install unknown apps from this source”. It is asking about the source, not the file. Tap Settings, turn on the permission for your browser, then go back and tap Install.

    What that screen actually means

    Android shows it for every app that did not come from the Play Store, including ones from companies you have heard of. It is a statement about where the file came from — which is why every build is published on GitHub with its SHA-256, so you can prove the file you got is the file we built.

  3. Open OurTales and start with one real photo

    Pick a username, add the photo, say what you remember, then send the invite link to the people who were there. They need nothing installed.

On an iPhone?

The iOS build isn’t ready yet.

Everyone taking part needs the app, and the app is Android-only for the moment — so an iPhone cannot join a memory yet, not even to add one voice note. That is the honest answer. Leave your email and you'll hear the day it changes.

One email when it ships. Nothing else.

You're on the list.

We'll email you the day the iOS build is ready.

The deal

It's free. Here is what we're hoping you'll do with it.

Nothing is gated and nothing is metered — but this is a beta, and a beta only works if the people in it use it for real. No surprises after you install.

What you get

  • Free forever on everything you collect during the beta — whatever we charge for later, your beta memories stay open to you.
  • A QR code and a link for the people you invite — sign-up on their side is a username and a password, nothing more.
  • A direct line to the people building it — not a support form.
  • Export of everything you and your circle contribute, whenever you ask.

What we're asking

  • Start with one real photo that actually matters to you. Not a test image.
  • Invite three or more people who were there. Getting other people over the install is the thing we most need to watch fail.
  • Tell us what broke. Fifteen honest minutes after your first week is worth more than a hundred installs.
Before you ask

The questions people actually have

Do the people I invite need OurTales too?

Yes — for now. Everyone adding to a memory installs the app and makes an account. Signing up is a username and a password: no email address, no phone number, no real name, about twenty seconds.

We would rather it were nothing at all. The server side of an account-free browser route is built — the endpoints that let someone hold a token instead of an account already exist — but it is not switched on in this build, so we are not going to describe it as if you could use it today. Getting an elderly relative over the install is the friction we most want the beta to show us.

Can the AI make things up about my family?

It cannot add anything. The composer arranges prose that real people wrote, and the safeguards sit in the database rather than in a prompt: invented names are diffed out, invented witnesses are dropped, identification of faces is discarded, and the contributor's own certainty is restored over anything the model claims.

If no AI composer is configured at all, a deterministic composer runs instead — it can only rearrange, so invention is impossible by construction.

Who can see my photos?

Only the circle you posted them to, and only the people you sent the link to. Nothing becomes public unless you approve it, and that rule is a database constraint rather than a settings toggle — withdrawing approval unpublishes the story immediately.

What does it cost?

The beta is free, and everything you collect during the beta stays free to you permanently. We haven't set pricing beyond that, and we'd rather tell you honestly than invent a number for a landing page.

Is it safe to install? Android is warning me.

That warning appears for every app that did not come from the Play Store, including ones from companies you have heard of. It is a statement about where the file came from, not about what is inside it.

So we make the source checkable: the build is published on GitHub Releases, it is signed with APK Signature Scheme v2/v3, and every release prints its SHA-256 in the release notes. If the checksum of your download matches, you have the exact file we built — bit for bit.

Why is it 141 MB?

Because this build carries native code for all four Android architectures in one file, so a single link works on any phone rather than making you pick. A per-architecture build is a fraction of the size and is what will go to the Play Store — this one is optimised for “send the link and it just works”.

iPhone or Android?

Android for now, and that applies to everyone in the circle — the people you invite need an Android phone too, because taking part means installing the app. There is a one-field waitlist on this page for the day the iOS build lands.

How do I get updates?

For this build, by downloading the next one from this page and installing over the top — your account and everything in it stays put. Automatic updates arrive with the Play Store listing.

Can I get my memories out?

Yes. Ask and we export everything in your account, including the contributions other people made to your photos. It's your family's archive; holding it hostage would defeat the point of building it.

What's still rough?

It's a beta and we'd rather you hear it from us. Everyone you invite has to install the app and sign up — the account-free browser route exists on the server but is not switched on. There is no password reset (we don't ask for an email at sign-up, so there is nowhere to send one). Invite links can't be revoked once sent. And the story won't describe what is in the photo, because image analysis is off — it says so rather than guessing.

The beta exists to break exactly these, in that order.

OurTales

A place where memories become stories worth keeping.

If the idea of asking your people before you lose the answer is worth existing, an upvote is the cheapest way to say so. It puts OurTales in front of other people holding a photo nobody has explained yet — which is the only distribution a free beta really has.

Upvote on Product Hunt

Opens Product Hunt in a new tab · takes about ten seconds · you keep reading here

Last thing

There is a photo you've been meaning to ask about.

Ask this week. The app is free, it takes three minutes to install, and the people who remember are not getting any less busy.

Free · APK, 145.0 MB · Android 7.0+ · v1.0.2 · install steps