P-05 · BUILD / PROJECT · 2026 SHIPPED

Memory Bridge

A privacy-first family oral-history app: guided recording sessions between children and aging parents.

STACK: Next.js 14PrismaPostgresS3ffmpeg

Why I built it

Photographs don’t ask follow-up questions. You end up with a shelf of faces and no answers. Nobody recorded how the story actually went, who else was in the room, why the decision was made. Voices disappear on a schedule nobody publishes.

Memory Bridge is the app I wanted to hand my own family: a child sits down with a parent, presses record, and is given the questions to ask.

How it works

Before recording starts, the app looks at the frame and coaches the room on lighting, framing and background noise, because most bad family recordings are bad in the first ten seconds and irrecoverable afterwards.

The session itself is a guided route with a deliberately short question list. An open-ended “tell me about your life” produces forty minutes of nothing; a dozen good questions produce something a grandchild will actually watch.

A guided recording session

Afterwards, audio is transcribed, and the transcript is mined into memory cards and a timeline: the extracted moments, dated where they can be dated, so a life becomes navigable rather than a pile of files.

Memory cards and timeline, extracted from the transcript

The governance layer

This is where most of the work went, and it’s the part that made it worth shipping. Vaults have roles, invites and consent audit logs. A single interview can be shared to a scoped link with an expiry. Privacy controls work per answer, and everything derived from a private answer stays private with it. Deletion is recoverable for a grace window, and account deletion anonymises rather than leaving orphans.

It’s a PWA, because these conversations happen in living rooms and void decks, not next to a router. Recordings draft offline and sync when the connection returns.

There’s also a Singapore question pack (national service, dialects, kampung and early HDB memories, food rituals) because generic prompts written elsewhere don’t open anyone up here.

Where it stands

Fifteen feature phases shipped over about three months, roughly 376 TypeScript files. Done and in use.