DEV Community

Adam Cameron Drummond
Adam Cameron Drummond

Posted on

Gemma To-Dos

Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady Submission 🦥

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

To do examples

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)