This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
What I Built
I built this for Jason, my boyfriend of 12 years — he's always on the go, has ADHD, and forgets things. He's not tech-friendly, so it had to be extra simple. For my very first app, I made him a quick voice-to-do list for everything he needs to remember throughout the day. No more carrying paper and pen (which he loses), no more texting me multiple times a day so I can remind him. It lives in our bubble, so his thoughts never pass through an external service — complete privacy.
Demo
Code
CrymsynRavyn
/
things-to-recall
a notepad to remember
Things to Recall 🎤
A voice-first, distraction-free reminder app for ADHD-friendly workflows.
One button. Talk. Reminders appear. Done.
What It Does
- Press the big button → speak what you need to remember
- AI listens → Whisper transcribes it → Gemma extracts the core reminder
- Reminders appear on a simple list
- Check them off → they fade away
- Undo within 10 seconds if you checked by mistake
No settings, no menus, no friction.
Tech Stack
- Frontend: HTML/CSS/JS with MediaRecorder
- Backend: Python Flask
- Speech-to-Text: faster-whisper (int8 CPU, 1-2 sec)
- Reminder Extraction: Ollama + Gemma3:4b (local LLM, open-weight)
- Storage: Local JSON file (no cloud, no databases)
All inference is local. No API keys. No closed services.
How It Works
- Press and hold the button → Browser records audio via MediaRecorder
- Release → Audio blob uploads to Flask backend
- faster-whisper transcribes → Speech converted to text on the server
- …
How I Built It
I used open-source AI I'm familiar with: faster-whisper for speech-to-text and Gemma 3 for extracting the reminders. They're both open-weight models — Whisper's weights are from OpenAI, Gemma's are from Google — so there are no API calls and no black boxes. There's no agent harness because it's a pipeline, not an agent. You record your voice, it transcribes, extracts the reminder, and displays it. When you're done, it deletes.
I used Flask for the backend and Ollama for serving Gemma locally. Everything runs locally because privacy was the whole point. The models download once, then no internet is needed. Jason just opens it on his phone and uses it whenever.
The whole app exists because it needed to be personal for Jason. He always has his phone. His privacy is everything, so it costs nothing to run. We can swap models as his needs change, and build on it. I run the whole thing on a small server I manage.
Why Does Open Innovation Matter?
Open innovation mattered because Jason's voice — his actual words — never gets sent to a third-party AI service. Everything runs on models I control, safeguarded for him. There are zero API costs, so he can use it as much as he wants, say as much as he wants, delete and change things as needed, without a bill building up.
If the models need upgrading — because Ollama releases a better version, or because Jason's needs change — it's a simple swap. It works offline, too. On days he's out of service or out of range, it still works. His data isn't shared with the wide world.
Prize Categories
Best Use of Gemma
Top comments (0)