Inspiration--For a long time Alzheimer’s placed a heavy burden on patients and families. Memories fade but patients easy tools to preserve them, and caregivers often struggle with a lack of clear guidance. We’re building a project that helps patients rebuild and manage memories and helps everyone learn more about Alzheimer’s,so day-to-day care feels more informed and humane.
What it does--Memory Coach is a comprehensive wellness web application designed specifically for individuals with mild to moderate Alzheimer's disease and their caregivers. It helps users capture life memories through voice and text, manage gentle reminders for medications and daily activities, and engage in cognitive exercises through interactive quizzes.
How we built it--We built a React (Vite) frontend with Material UI and a Flask backend using SQLAlchemy and Alembic on SQLite. The client calls REST endpoints under link, and CORS connects the two during local dev.
Challenges we ran into--Initial registration flow had a typical email + password login, though later we realized that demanding Alzheimer’s patients to set a password was not very inclusive. Finally, we decided to switch to the password-less login systems via one-time PINs over email. Here the snag would not unfreeze: some phones always threw an ‘ascii’ codec error for our mailer. After following headers and bytes, we discovered the source of the problem – non-ASCII (e.g., an account name containing Chinese characters) characters began sneaking into the From/To headers. We added a safety net that basically automatically converts any non-ASCII characters in email addresses and headers to some safe representation before dispatching-the device would then not crash when it encountered an email having non-English account names.Improved with sanitation + logging,PIN emails can be delivered reliably across locales and devices without affecting any; that is, the login process itself remains simple and less memory-demanding for our users.
Accomplishments that we're proud of--We’re proud to have shipped the polished experience end-to-end. We implemented a dashboard hero on the UI side with subtle image overlay/fade so that the text is still readable without losing the warmth of the photo. On the backend, we fought through SQLite/Alembic upgrades in testing and on production, made a small cleanup script to drop stray alembic_tmp* tables before re-running migrations, which were blocking our schema updates.
What we learned--We now know how to implement the design of a clean, stateful quiz flow from one end to another: a start-session route, per-question answering with answer-locking, and an automatic “wrong-answer notebook” for later review. What’s backbreaking is that wrestling with migrations made us realize we should be treating data modeling like ops—be careful with Alembic, keep test data deterministic and build small utilities (e.g. a cleanup script for temp tables) to keep upgrades reliable. Most importantly, collaborating across an 8-hour time difference made us write clearer issues, define crisp ownership, and hand off work intentionally—skills that sped us up far more than any single library.
What's next for memory-coach--We are developing an AI chatbot which focuses on four things: memory preservation and organization, transforming conversations into spaced memory prompts, providing calm, supportive language during emotionally charged situations, and memory retrieval and reconstruction using minimal clues like a name, address, or photo.
Log in or sign up for Devpost to join the conversation.