DEV Community

Aman Kumar Dewangan
Aman Kumar Dewangan

Posted on

Frostline: a garden planner that runs on Gemma, on your laptop, so you can touch grass

Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass Submission 🌿

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass

What I Built

Frostline is a small garden planner for one question: what should I plant this week? It is for anyone with a patch of dirt, a balcony box or a community plot who would rather be out in it than reading about it.

You enter today's date, your average last spring frost and your first fall frost. Frostline works out which sowing, indoor-starting and transplanting windows are open right now, which are closing within a week, and which open within two. A local open-weight model, Gemma 3 served by Ollama, then writes a short coach note about those tasks and ends with one thing to do today with your hands in the soil.

Then you hit Print field card, close the laptop, and take a paper checklist outside. The screen is the shortest part of the experience, which is the point of the theme.

Demo

There is no hosted demo, and that is deliberate: Frostline is local-first, so the model runs on your own machine rather than on a server I pay for. It takes two commands to run:

ollama pull gemma3:4b
npm start
# open http://127.0.0.1:8787
Enter fullscreen mode Exit fullscreen mode

Enter dates like 04-30 and 10-15, press Plan my week, and you get a grouped checklist (closing soon, do now, coming up), a coach note, and a print-friendly field card. I have not recorded a video, and I have not yet taken it out into a real garden. This post doesn't claim a field report I don't have.

Code

GitHub logo amandewatnitrr / frostline

Local-first frost-date garden planner: deterministic planting windows + a coach note from Gemma via Ollama. Hacktoberfest 2026, Touch Grass.

Frostline

What to plant this week, from your frost dates, with a coach note from an open-weight model running on your own machine. Then close the laptop and go outside.

Built for the Hacktoberfest Open-Source AI Challenge: Week 1 (theme: Touch Grass).

How it works

  1. You enter today's date, your average last spring frost and first fall frost (MM-DD).
  2. A small, deterministic planner (public/js/planner.js) works out which sowing, indoor-starting and transplanting windows are open now, closing within a week, or opening within two weeks.
  3. The server asks a local open-weight model (Gemma 3 via Ollama) to write a short coach note about only those tasks.
  4. You print the one-page field card and take paper outside. The screen is the shortest part of the experience.

The model never decides dates. The planner does, so a small model can't hallucinate a planting window. The…




MIT licensed. No npm dependencies: the server is node:http, the client is plain ES modules, and the tests use node:test.

How I Built It

frost dates ──► planner.js (pure, deterministic) ──► tasks
                                                    β”‚
                          Ollama + Gemma 3 β—„β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                β”‚
                         short coach note ──► UI + printable field card
Enter fullscreen mode Exit fullscreen mode
  • Open model: Gemma 3 (gemma3:4b by default), an open-weight model, run locally through Ollama's HTTP API. OLLAMA_MODEL swaps in any other model Ollama can serve.
  • The planner decides dates, the model doesn't. Each crop in crops.js has windows expressed as day offsets from the last or first frost. planner.js is a pure function, so a small model can never hallucinate a planting window. It also handles windows that cross New Year and southern-hemisphere calendars.
  • The model only sees data Frostline produced. The server recomputes the plan from the three inputs rather than trusting a task list from the browser, and the system prompt tells Gemma to use only the listed tasks.
  • It degrades gracefully. If Ollama is not running, the planner and the field card still work. Only the coach note is skipped, and the UI says why.

Honest status: I built Frostline with an AI agent (Claude Code), and this post is marked as AI-assisted. The test suite for the planner, the Ollama client and the server is included, but I have not run it yet. The crop windows are rules of thumb for temperate climates, so check them against your local extension service. If something fails when you run it, please open an issue.

Why Does Open Innovation Matter?

  • Private by construction. Inference runs on localhost and the server binds to 127.0.0.1. Frostline never asks where you live. It only needs three date strings. A garden planner has no business sending your yard to someone else's server.
  • Free to run. No API key, no quota, no bill for asking a question about radishes.
  • Swappable. Change the model with one environment variable and trade size for speed on whatever hardware you have.
  • Right-sized. The model's job is a 90-word note, not a database of agronomy. A 4B-parameter open-weight model is plenty when the facts come from deterministic code. A closed API would have added a key, a bill and a data-sharing question to what is really a date calculation.

Prize Categories

  • Best Use of Gemma: Gemma 3 is the model behind the coach note, run locally via Ollama.

Top comments (0)