Inspiration
We take thousands of photos, but nobody ever scrolls back through. Physical photo frames show one picture forever, but the phone galleries are an endless, dumb grid. We asked: what if a frame could actually understand your life – and let you talk to it?
What it does
Reverie is an AI memory frame. The moment a photo comes in, it's understood — not tagged.
It understands every photo — Amazon Bedrock Vision writes a warm caption, it reads the scene, mood, people, and color palette.
Search by meaning, not filenames — type "sunsets by the water" or "the day we celebrated" and the right memories surface, ranked by relevance.
Talk to your memories — ask, "What beach trips do I have?"* and get a grounded answer drawn only from what really happened (RAG).
Hears them aloud — each memory is narrated in a warm, genuinely human voice.
Reminiscence Mode — a calm, large-type, hands-free, voice-first view built for elderly users and accessibility; press begin, and your life plays back to you.
How we built it
v0-scaffolded Next.js on Vercel → FastAPI → Aurora PostgreSQL + pgvector.
Each upload runs through Bedrock Claude vision, gets embedded by Titan into a 1024-d vector, and is stored in Aurora with a pgvector IVFFlat index for fast cosine search. "Talk to your memories" is retrieval-augmented generation over those vectors.
Challenges we ran into
The voice kept getting cut off. The frame auto-advanced on a fixed timer that was shorter than the narration, chopping sentences mid-word. We re-synced the slideshow to wait for the voice to finish before moving on.
Serverless broke our filesystem assumptions. On Vercel's read-only runtime, our image directory creation crashed the function on boot. We made storage fall back gracefully to a writable path.
pgvector at scale. Building the IVFFlat index blew past the default``; we tuned it and benchmarked the system to 100,000 memories to prove it holds up.
Accomplishments that we're proud of
- A fully live, deployed product on real Aurora + real Bedrock — not a mockup.
- Hybrid semantic + keyword retrieval with RRF, benchmarked at 41 ms search over 100k memories.
- The Memory Atlas — turning an invisible vector space into something beautiful you can explore.
- Reminiscence Mode — designing for the people who need it most, not just for a demo.
- A narration voice that actually sounds human, so a memory feels spoken, not synthesized.
What we learned
Embeddings have a space, and showing it is powerful. Projecting the vector space into the memory atlas turned an abstract database into an emotional experience.
Hybrid retrieval beats pure vector search – Fusing dense and sparse signals with RRF made recall noticeably more reliable.
The last mile is the hard mile. A great build and a shipped build are very different things, deployment, env wiring and the access where the real work lived.
What's next for Reverie – the frame that remembers
Real hardware — cast Reverie to an actual e-ink or framed display in your home.
A knowledge graph of your life — connecting people, places, and events so you can ask, "Show me everyone I was with at the lake."
Persistent uploads at scale via S3, and shared family frames so memories can be experienced together.
Built With
- amazon-aurora
- amazon-bedrock
- amazon-titan
- claude-3.5-sonnet
- pgvector
- postgresql
- python
- sqlalchemy
- vector-search
- vercel

Log in or sign up for Devpost to join the conversation.