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, a vision model looks at the frame and coaches the room on lighting, framing and background noise. Most bad family recordings are bad in the first ten seconds and irrecoverable afterwards, so the fix belongs before the take, not in post.
The session itself is a guided route capped at twelve questions. The cap is the design. An open-ended “tell me about your life” produces forty minutes of nothing; twelve good questions produce something a grandchild will actually watch.
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.
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 marking an answer private also withholds the memory cards derived from it, because otherwise the derivative quietly leaks the thing you just protected. Retention policies apply, with a fourteen-day soft-delete window so a mistaken deletion is recoverable. 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 into IndexedDB 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. Next.js 14, Prisma on Postgres, S3-compatible storage, ffmpeg for the media pipeline. Done and in use.