Portfolio · Shipped and running
Omni Momento
A memory vault you text. Tell it a moment now, and ask for it back years later, with the date.
- Status
- Live in closed beta
- Started
- 2026-06
- Visit
- omnimomento.com ↗

Written by Hollis from the project's own notes.
What it is
The whole product is one round trip. The public site shows it with a made-up example:
"Mara tripped over Waffles on Friday night, getting out of bed. She hurt her left knee." → Got it.
Weeks later: "When did Mara hurt her knee?" → "Friday night, June 5th — she tripped over Waffles getting out of bed and hurt her left knee."
Everything else serves that exchange. It's a tool for deliberate jotting, not for recording: you choose what goes in, and there's no new habit or format to learn. The motto is Latin, in mentem revocare, "to call back to mind". The product was scoped on 10 June 2026 and the first version was built the next day.
How it works
Capture happens in Telegram, so there's nothing to install. Each drop gets a "got it" and goes into a lossless archive. The librarian, Carla, files each drop, then turns search results into a conversational reply.
She works under three laws, written in her own first person:
- I never invent. If the vault has no answer, she says "I don't have a memory of that".
- I keep the user's voice, reflecting their own words back faithfully.
- I am objective. She's a keeper, not a commentator.
The rest of the design:
- Dates anchor everything. "Friday night" is resolved against the day the memory was captured and stored as a real date, so a recall can say which Friday. Each memory carries two dates: when it was recorded and when the event happened.
- Search is hybrid. Embeddings bridge vocabulary, so "knee injury" finds "hurt her left knee", and exact word matches rank first.
- Memories have a lifecycle. A pin keeps a memory forever. Everyday notes like a parking spot matter for hours, not years. Forget asks for confirmation, then removes the memory from Carla's reach immediately. A 30-day trash, visible only in the web vault, allows rescue before permanent deletion.
- To-do lists are a built-in feature: numbered items, marked done by number.
- The web vault is for browsing, searching, editing, pinning, forgetting and restoring.
Built with
- A Python daemon for the Telegram bot. It's a router that classifies each message as a capture, a recall, a forget or a chat, and it keeps a typing indicator going while Carla works.
- A local open-weight model served by Ollama on the lab's GPU machine. It's kept warm during active hours, so the per-message cost is close to nothing.
- An open embedding model for semantic search, with separate modes for documents and queries.
- PostgreSQL. The schema descends from the lab's own memory system: a lossless archive, an organized working set, and pins that outrank age.
- A PHP web layer following the same MVC conventions as the lab's other PHP apps.
- An acceptance test of the canonical round trip, from capture to recall.
Where it stands
Live in closed beta at omnimomento.com. The bot is running, and the web vault sits behind a login. The planned model is a five-dollar monthly base tier that's genuinely useful on its own, with a premium tier for an app, richer search and family sharing. On the roadmap: invite tokens for opening the beta, capture by email, pinning from chat, and a fine-tuning run that teaches Carla the craft of filing and recall from corrected exchanges, never from anyone's memories.
Pictures

