Inspiration
As students who have been studied and lived in almost ALL continents, we faced farewells, good memories, movings and friends scattered around the world. The moments we care about rarely disappear all at once. They fade by becoming fragmented, re-lived agian only when scrolling in each other's camera rolls, separately with no-one to share.
Public social platforms do not solve this. They are designed for reach, performance, and engagement—not for the handful of people who actually shared a moment.
Thus, we built MemoryBridge for close friends who have moved away, graduated, traveled together, or simply want a more intimate way to remember. With photos pinned on maps shared with the close friend loop, voices and stories attached, everyone shared the memories and can revisit the memerized places again to add on something new.
Our guiding question was:
What if a map could hold not only where we went, but what those places meant to us?
What it does
MemoryBridge is a private, collaborative memory map for trusted circles.
A member can choose a real photo, attach a place, date, and short story, and drop it onto the shared map as a memory Pin. Friends in the circle can revisit it, react, comment, or add their own perspective. The result is not a public feed or a static album; it is a living record that grows richer as more people contribute.
The AI memory assistant helps turn fragmented material into something easier to preserve. It can:
- extract a title and concise summary;
- identify possible dates, places, and people with confidence and evidence;
- generate follow-up questions when details are uncertain;
- compare new material with existing stories and return up to three possible matches; and
- organize a draft without silently presenting an inference as fact.
Every suggestion remains editable and reviewable. MemoryBridge follows one core rule: AI suggests; people decide. The app labels AI assistance, preserves sources and disagreement, and requires human confirmation before material becomes part of the shared story.
Privacy is part of the product rather than an afterthought. A map belongs to a private circle, non-members cannot read its memories, and invitation screens do not reveal photos, stories, or precise locations before someone joins.
How we built it
We built MemoryBridge as a mobile-first Expo and React Native application with TypeScript and Expo Router. The native map uses react-native-maps, with photo- and avatar-based markers that make people and memories more important than generic map pins. React Native Paper and a shared semantic theme provide a consistent, accessible interface across map, feed, capture, circle, invitation, memory-detail, and profile flows.
Clerk handles sign-in and user sessions. A Clerk session token is passed to Supabase, where PostgreSQL Row Level Security isolates circles, memberships, memories, contributions, consent records, and private media. Supabase Storage holds private assets, while Deno Edge Functions keep privileged operations and model credentials off the client.
The process-memory Edge Function sends transcripts, image references, and candidate stories through a structured AI pipeline. The OpenAI path uses the Responses API with a strict JSON Schema; OpenAI-compatible and text-only providers are supported through guarded fallback paths. The response is validated again at the client boundary with Zod before entering application state.
Codex was our engineering partner throughout Build Week. We used it to turn the product idea into an implementation plan, migrate the first web prototype into a native Expo architecture, build the core screens and state flows, design the Supabase schema and RLS policies, integrate Clerk identity, harden structured AI output, and repeatedly type-check and debug the end-to-end experience. This let us iterate across product, design, mobile, backend, and security as one coherent system instead of treating AI as a last-minute feature.
For a zero-configuration demo, MemoryBridge can fall back to seeded local data persisted with AsyncStorage. When cloud configuration is present, the same interface switches to the authenticated Supabase-backed circle.
Challenges we ran into
Making AI helpful without making it authoritative
Memory is subjective. Two friends may remember the same event differently, and a model's confidence is not proof. A simple summarizer would have been technically easier but product-wise dangerous. We instead modeled dates, places, people, evidence, confidence, questions, and story matches as explicit structured fields. The system prompt prohibits invented identities, and uncertain output becomes a question rather than a fabricated fact.
Connecting Clerk identity to Supabase authorization
Authentication was only half the job. We also needed every database query and private asset request to respect circle membership. Passing Clerk JWT claims into Supabase, mapping string user IDs, writing safe RLS policies, and ensuring the client never receives a service-role key required careful work across the mobile client, schema, migrations, and Edge Functions.
Moving from a prototype to a real mobile experience
The project began as a lightweight web prototype, but the product only felt right when the map became the native home screen. Migrating to Expo and React Native meant rethinking navigation, safe areas, image selection, native authentication, responsive layouts, and custom map markers while keeping the capture flow fast and coherent.
Supporting both a polished demo and a real backend
Hackathon demos need to work immediately, but a privacy product cannot rely on fake security. We built a local demo mode for reliability and a cloud path with real authentication, private storage, RLS, and server-side AI. Keeping both paths behaviorally aligned was a meaningful state-management challenge.
What we learned
We learned that the most important AI product decision is often not which model to use, but where the model's authority ends. For personal memories, good AI behavior means exposing uncertainty, retaining provenance, asking useful questions, and making reversal easy.
We also learned that privacy affects the whole interaction model. It changes what an invitation may preview, what publishing copy must say, how media URLs are issued, how departed members lose access, and how every database policy is written.
Finally, we learned that a map can be more than a utility layer. When photos and friends become the visual hierarchy, geography becomes a powerful interface for relationships and time.
Accomplishments that we're proud of
- Delivered a coherent, runnable mobile product rather than a single AI demo.
- Built the full map → capture → memory detail → contribution loop.
- Combined native mobile UX, authentication, database authorization, private media, and structured AI processing.
- Made model output explainable and reviewable through confidence, evidence, provenance, and follow-up questions.
- Preserved a zero-configuration demo path without weakening the production architecture.
What's next for MemoryBridge
Next, we want to add real voice transcription, richer multi-photo ingestion, expiring and revocable invitation controls, place-aware prompts that run only with explicit permission, and a timeline that shows how a friendship evolved across cities and years.
Now used by a few friends we encountered during our experience wandering across the continents, we aim to push the same memory experience to all people like us on different continents.
The long-term vision is simple: instead of letting meaningful experiences vanish into disconnected apps, MemoryBridge gives trusted people a private place to remember together.
The github repo link is currently a private repo, still happy to open once the access request is sent ! Really interesting app, feel free to click, send the notification and try it out
Built With
- clerk
- codex
- expo.io
- openai-api
- postgresql
- react-native
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.