DEV Community

Cover image for Frostline: what to plant this week, from your local frost dates
Asuran
Asuran Subscriber

Posted on

Frostline: what to plant this week, from your local frost dates

Most garden advice is a fixed calendar. But the right week to sow a carrot in Portland is not the right week in Minneapolis, and a calendar does not know that. Your frost dates do.

Frostline asks for your location and tells you exactly what to sow this week, from your own last-spring and first-fall frost dates. The screen is the shortest part. Read the plan, close the laptop, go plant.

What it does

Type a US city or tap "use my location". Frostline shows your two frost dates, then a sow-this-week list drawn from 29 common vegetables and herbs, each with a plain reason like "sow kale now, it takes a light frost and keeps going into the cold". It reads at a glance and needs no sign-in.

Open-source AI is the core, not the garnish

Two open models do the real work.

Frost dates come from TabPFN, an open tabular foundation model from Prior Labs. I trained it offline on 6,784 NOAA weather stations to predict the last-spring and first-fall 32F frost dates from latitude, longitude and elevation. On 1,357 stations held out of training it is accurate to 6.9 days for the last spring frost and 9.7 days for the first fall frost, which beats a nearest-station baseline (8.7 and 10.8 days) on both.

The write-up comes from Gemma, Google's open-weight model. It turns the structured plan into friendly local prose, runs locally through Ollama, and the app falls back to a deterministic narrator when no model is configured, so the page never blanks.

Why open matters here, concretely:

  • It runs free. No per-request bill, so a free gardening tool stays free.
  • Your location stays yours. The frost grid is baked, so your coordinates are matched locally and never sent to a model vendor.
  • You can swap the model. Retrain the frost model on your own stations, or point the advice at any open model with one environment variable.
  • It can run offline. Open weights mean the whole thing can run on a laptop with no internet, which is the point of a tool you use outside.

How it works

TabPFN needs PyTorch, so it never runs on a request. I bake it once, offline, into a 0.5 degree US grid of 4,069 points and ship that as a small static file. At request time a tiny lookup interpolates your location against the grid, a deterministic planner turns your frost dates and today into the sow-this-week list, and Gemma writes it up. No model sits in the hot path, so the plan is instant and the site cannot blank.

What is real and what is simulated

I will not dress this up:

  • Frost dates are real TabPFN predictions from NOAA 1991-2020 normals. The error above is measured on held-out stations.
  • The plan is a real deterministic function of your frost dates and today.
  • The advice prose is Gemma when a key is set, else the built-in planner. The app labels which one wrote it.
  • Near the frost-free deep south the model extrapolates poorly, so those areas are labelled rather than given a hard date. The Reports page shows all of it.

The two partner categories

  • Best Use of TabPFN: frost-date prediction is a clean small-tabular regression, exactly what TabPFN is for, and it beats the obvious baseline. The accuracy is published in the app and reproducible from bake/train_tabpfn.py.
  • Best Use of Gemma: Gemma writes every plan, grounded on a strict facts-only prompt so it never invents a date or a crop, with a deterministic fallback so the product is never at the mercy of the model.

Built to be attacked

One command gates the whole thing (./verify.sh): strict types, zero-warning lint, tests, a production build, and a clean dependency audit. The site ships a strict nonce Content-Security-Policy, security headers, validated inputs and a route error boundary. The threat model is in the repo.

Try it

Open https://frostline-lime.vercel.app, type your city, and see what you could put in the ground this week. Then go outside.


AI assistance (Claude) was used to build Frostline. The idea, the design, and the model and licence decisions are mine, and every number here is measured against the code and the live site so you can check it yourself.

Top comments (0)