This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady
What I Built
Gemma To-Dos is a small web app that stores your to-dos and uses a local Gemma model to make them easier to start. Press Suggest on any item and it returns a few tips for getting it done. It also returns an ordered list of concrete sub-tasks, which you can add to the to-do with one click.
It's for anyone who stares at "Plan the trip" or "Clean the garage" and doesn't know where to begin. The model does the breaking-down, so you only have to do the doing.
Demo
Code
How I Built It
I built this software using Copilot.
- Model: Google Gemma (gemma3 by default), run locally through Ollama. You can swap it with OLLAMA_MODEL.
- Backend: one dependency-free Node file (server.js) using the built-in http module and fetch. To-dos are saved to a local todos.json.
- Frontend: a single index.html with vanilla JS. All text is rendered with textContent, so model output can't inject HTML.
- Structured output: the call to Ollama's /api/chat passes a JSON schema in format, requiring tips and subtasks arrays. This keeps Gemma's answer parseable, so the UI can show tips and turn sub-tasks into real checkable items instead of scraping free text.
- Flow: POST /api/todos/:id/suggest asks Gemma and stores the result on the to-do. The sub-tasks only become real ones when you click "Add all as sub-tasks", so the model never changes your list on its own.
Why Does Open Innovation Matter?
To-dos are personal: "call the doctor", "finish the job application". With an open-weight model running through Ollama, none of that text leaves my laptop. There's also no API key, no per-request billing and no rate limit. It works offline, and I can swap Gemma for another model by changing one environment variable. A closed API would have meant sending my private task list to a third party and paying for every suggestion.
Prize Categories
Best use of Gemma

Top comments (0)