In a forgetful future there is a journal related to care. What is it?
HACKSPEC_ARTFeb 2024
Memento — asking questions of a journal

Raihan Rafeek, Kaaustaaub Shankar, Grant Kilgard and I mostly started because we wanted to work together. We were making a dance app. More computer vision. There was a loose chain of projects going, mostly because we kept finding another excuse to use whatever we'd just learned: SignLink, KUKA, and now another computer vision thing for people.
Then Grant brought up a real problem. His grandfather had been diagnosed with Alzheimer's, and his grandmother had gotten involved in advocacy around Alzheimer's and related dementia. We spoke with her, scrapped the dance app, and started working on memory.
What bugged me about a normal journal is that you still have to remember enough to find the thing you forgot. You need the date, or the right keyword, or the entry itself. With Memento the question was the index. You could ask "Where did I put my glasses?", "What did I do Tuesday?" or "Who visited last week?"
The journal could hold text, photos, audio and location. The person or a caregiver records the day. Later the user asks about whatever they still remember enough to ask about, and the system goes back through the record.
There was also a side for clinicians. If the same question kept coming up, we wanted that repetition to show up as a pattern over time instead of getting lost in separate conversations. Sharing that with a caregiver or doctor was opt-in.
Grant led the design. He worked out the whole app in Figma, from onboarding to adding photos, places and voice notes to an entry, and then handed it to the rest of us to build. These are his screens.

His write-up of the design1 has the rest of it.
| Memento flow |
|---|
| Journal input (text / images / audio / location) |
| ↓ |
| PostgreSQL / Tembo |
| ↓ |
| User question |
| ↓ |
| KeyBERT query terms |
| ↓ |
| Retrieval over journal entries |
| ↓ |
| Selected memory entries |
| ↓ |
| GPT-3.5 response |
| ↓ |
| Patient / caregiver interface |
| Memento clinical signal |
|---|
| Repeated questions |
| ↓ |
| Stored longitudinal pattern |
| ↓ |
| Clinician-facing view |

Journal data was stored in PostgreSQL through Tembo.
KeyBERT pulled out the terms used for retrieval. Matching journal entries were picked from what was stored and passed to GPT-3.5 to write the response.
Repeated-question tracking counted matched intents that kept coming back over time, for the clinician-facing view.
We tried React Native and SwiftUI/Xcode for the interface before finishing the working version as a React web app scaled for mobile.
We also hit Cloud Run memory limits during the hackathon and moved the backend behind a proxy server.12
The backend wasn't what held us back. We went hard on the interface renders and just didn't have the frontend skill to build all of them. The working app could do the important path, but I could see the experience we'd designed sitting next to it and knew how much was missing.

We placed third overall and won Best Social Impact, the Medpace clinical-trial-process challenge, and Best Use of Postgres. People at the hackathon gave the project a lot of love. I was still looking at the UI.