-
-
Dory’s landing page: a trusted AI companion for early memory loss, answering only from verified family memories.
-
The Dory workflow: Ask, Protect, Remember. Dory pauses instead of guessing, and family-confirmed answers become new memories.
-
Patient asks by voice; if no verified fact exists, Dory alerts family on Telegram and saves their answer to memory.
-
Safety first: Dory never invents facts, guesses medication, or answers without evidence. When unsure, it asks family.
-
Family home: choose the voice-first Patient Portal or the Family Dashboard to review facts, questions and medication.
-
Family dashboard: daily summary by Nemotron Ultra on Nebius, memory health chart, and alerts for repeated or unknown questions.
-
Dory Answers: every reply is safety-checked and logged with its status, source facts and time, so families can audit it.
-
Patient voice screen: Kavitha talks or types to Dory, gets answers grounded in her memory book, and sees recent memories.
-
Patient mobile app: one tap to talk to Dory, plus evening chat and morning briefing. Dory’s promise: no source, no answer.
-
Voice call: Dory greets Kavitha warmly and listens, with one large End call button for a simple, stress-free experience.
-
Mobile settings: manage the family circle, schedule morning reminder and evening chat calls, and turn on a family voice.
-
Family voice: a relative records a short paragraph so Dory can speak in their voice, while still introducing itself as Dory.
Try it
- Website: https://129-225-92-241.sslip.io/
- Android app: Download dory.apk (allow "install unknown apps" when asked)
- Demo login:
[email protected]/dory-demo-2026(or[email protected]/12345678)
Inspiration
Someone with early memory loss may ask the same question ten times before lunch. Each time it is new to them, and each time it costs the person who answers a little more patience. Memory aids exist, but most are apps that are hard for the people who need them. General chatbots are easy to talk to, but they invent things, and a confident wrong answer about a visit, a date or a tablet can do real harm.
So we asked a different question. Instead of "what can an assistant say?", we asked "what must it never say?" The result is Dory, named for the fish who forgets, because we wanted the name to be gentle.
What it does
Dory is a voice companion for people with early memory loss. It talks with them like a friend, remembers the day for them, answers only from what it can prove, and keeps the family informed.
- It calls them. The Android app rings like a real phone call every morning and evening, so the person never has to remember to open an app.
- Natural conversation. Small talk, feelings and follow-ups like "what about yesterday?" are answered naturally by Nemotron, using the conversation so far.
- Evening chat. Dory asks about the day and follows up on plans ("I had a note that Anu was coming today. How did that go?"). It saves each fact with the exact words it came from.
- Morning briefing. A short, calm reminder of today's day and date, yesterday's highlights and today's plans.
- Answers with receipts. Every answer about their life must cite a saved fact. The family sees the source and a Passed or Blocked badge for every answer.
- Dory asks the family. If it doesn't know ("Where are my reading glasses?"), it says so and sends the question to the family. A relative answers on the family website (or optionally on Telegram), and Dory saves the answer with who gave it. Next time, it knows.
- It double-checks what it's told. If the person says something new, or something that contradicts what the family confirmed, it is saved as pending, and the family is asked "is this true?". Pending facts are never used in answers.
- A medicine rule. Dory never answers medicine questions from memory or from the model. It only reads back a log confirmed by a caregiver, and urgent phrases get a fixed, safe reply.
- The family care center. A Nemotron-written daily update, questions to answer, a Memory Book where family add facts in advance, a medicine log, and an audit trail of every answer.
- The family's own voice (optional). A family member reads a short paragraph, and Dory can speak in their voice.
How we built it
Models: NVIDIA Nemotron 3 on Nebius Token Factory, in a cascade.
| Model | Role |
|---|---|
| Nano | Live conversation, evening call and health triage, for speed |
| Super | Lie-catcher, fact extraction and morning briefing |
| Ultra | Daily family summary |
The lie-catcher. Before an answer about the person's life is spoken, it must pass two checks:
- Code checks: it must cite a stored fact, and every name, date, time and number must appear in that fact.
- A second model: Nemotron Super judges whether the cited facts support every claim.
If either check fails, or the checker is unavailable, the answer is blocked, and Dory says it doesn't know and asks the family. Extracted facts are kept only if their quote really appears in the conversation.
Android app: Flutter. It uses the phone's own speech recognition and speech, rings like a phone call at set times, and signs in with the family's account.
Family website: React, Vite and Tailwind. It has the patient's voice screen and the family care center.
Backend: FastAPI with SQLite. One account per family is shared by the website and the app, and every request only sees that family's person.
Family voice: OpenVoice v2 and MeloTTS. Both are free and open source, and they run on a free Colab GPU.
Deployment: one free Oracle Cloud VM running Docker Compose, with automatic HTTPS. The whole project costs nothing to run apart from model calls.
Challenges we ran into
- Making "I don't know" a feature. Models want to please, so we designed the refusal paths as carefully as the answers.
- Natural but never invented. Letting Nemotron chat freely made Dory warm, but it also opened a gap: a friendly reply could slip in an unsupported fact. Every reply about the person's life now goes through the lie-catcher. Free replies may only use names and dates from cited facts or the person's own words.
- The checker was too strict at first. It blocked "your umbrella" because the fact said "Mary's umbrella". We now tell it who is asking. We tested the fix with real Nemotron: correct answers pass, and invented ones are still blocked.
- Medicine questions. Free-form model replies were too risky, so these use fixed replies and a caregiver-confirmed log.
- Three people, three countries. Our database, backend and screens were built separately, and our first versions disagreed on field names. We wrote an adapter layer to reconcile them before anything worked end to end.
- Speech recognition. Names and words get misheard, so Dory makes sense of the whole conversation and gently asks again instead of guessing a name.
Accomplishments that we're proud of
- Refusal behavior is a tested part of the product, not an afterthought, with 172 automated tests on the real pipeline code.
- Every answer carries its receipt.
- Dory phones the person, so there is nothing new for them to learn.
- It's live, free to host, and the website and the app share one family account.
What we learned
- Safety has to be tested before it is claimed.
- A cascade of smaller and larger models keeps conversation fast while the careful steps get stronger models.
- The hardest design question for an assistant like this is what it should refuse to say.
Honest limits
- Dory is a memory aid and a family communication tool. It is not medical treatment, diagnosis or monitoring, and it is designed for early memory loss.
- We tested only with fictional personas, never with real patients.
- Speech recognition uses the phone's or browser's built-in engines, which may process audio on Google's servers, so we make no claim that audio never leaves the device.
- The family voice runs on a free Colab session, so it is only available while that session is running. Otherwise Dory uses the phone's voice.
What's next
- A home speaker form factor
- On-device speech recognition for stronger privacy
- Review of the wording by clinicians and caregivers
- Consent controls for what each family member can see
- More languages
Log in or sign up for Devpost to join the conversation.