Memory Garden is a private archive for the small, easily forgotten fragments of life: notes, voice memos, receipts, and photos. It turns those raw memories into a searchable personal timeline by extracting dates, people, places, and tags, then lets you ask questions in everyday language.

What makes it different is trust. Every answer is grounded in inspectable source evidence, with links back to the original memory that supports it. If the archive cannot verify an answer, Memory Garden says so explicitly instead of guessing. You can also save follow-ups as reminders or drafts, and delete an individual source or all of your data at any time.

The frontend is a React + Vite experience with a timeline, import flow, grounded-answer view, original-source drawer, saved actions, and privacy controls. The backend is FastAPI with SQLAlchemy, running locally with SQLite and designed to support PostgreSQL + pgvector for semantic retrieval. OpenAI calls live only on the backend, where the pipeline can transcribe audio, read receipt or photo content, generate structured metadata, create embeddings, and produce grounded answers with citations.

A seeded Tokyo demo archive is included so the app can be explored without an API key. The project also includes automated tests covering the core trust guarantees: a source can create a timeline memory, support a cited answer, and disappear from both the timeline and retrieval when deleted.

How We Used Codex and GPT-5.6

We used Codex and GPT-5.6 throughout the build to speed up both implementation and product iteration. Codex helped generate and refine React UI components, FastAPI routers, SQLAlchemy models, migrations, and test coverage. GPT-5.6 was especially useful for idea generation, architecture pressure-testing, and shaping the product into a coherent experience centered on evidence and verification.

The most important decisions were ours, and we used Codex to validate them in code: every answer must link to inspectable sources, unsupported questions must return a clear Not verified state, OpenAI keys and calls must stay server-side, retrieval must remain scoped per user, and deleting a source must also remove its retrieval chunks.

Challenges We Ran Into

Building a personal-memory assistant that feels useful without becoming a black box was the main challenge. We solved that by making uncertainty visible, keeping original sources one click away, and making deletion affect both the source and its retrieval data. We also separated the no-key demo path from the real AI-processing path so the app can be safely explored without exposing credentials.

What We’re Proud Of

Memory Garden is a full end-to-end product, not just a chat interface. It gives users grounded answers, visible uncertainty, inspectable evidence, and verified deletion behavior. It also includes a polished seeded demo that runs locally without paid-service setup.

Built With

Share this project:

Updates