Local model chore: turn a brain-dump into a clean to-do list
Paste messy meeting notes into a free, offline model on your own laptop and get back an organized to-do list, with nothing leaving the machine.
Run this workflow
CI-verified, 2/2 fixtures passing.
Build this with your agent
One copy-paste hands Claude Code, Codex, or Cursor the full recipe, steps included, nothing to fetch.
Intended Use
Anyone who wants to clean up messy notes privately. CI installs Ollama, pulls a real small Gemma 3 model, and runs the actual to-do prompt offline, asserting the model returns a non-empty answer with a clean exit (no API key, no cloud). The newsletter recommends gemma3:4b for real use; CI uses the tiny gemma3:270m for speed. The answer's QUALITY is non-deterministic and is fenced.
Not for
- Trusting the list blindly, small models occasionally drop or garble an item, so skim it
- Expecting CI to grade the list, only that a local model ran and produced output offline
The Stack
Tested Against
ollama@0.30gemma3:270mgemma3:4b (recommended for real use)Side effects & data flow
- Network
- ollama.com, model pull only; inference is fully offline
- Writes
- ~/.ollama/ (downloaded model)
- Credentials
- none required
Data privacy
- nobody (fully local after the one-time model download) ← your pasted notes (retention: stays on device; nothing is sent off-machine or retained by any service)
Prerequisites
- A laptop with ~8GB RAM (16GB for the 12B models)
Steps
- 1
Run the chore on a real local model (offline)
Install Ollama, pull a Gemma 3 model, and run the to-do prompt on your messy notes. With LM Studio you'd do the same in a window; here CI does it headless. After the download this runs with wifi off. CI runs exactly this with the tiny gemma3:270m and checks the model returned a real answer.
command -v ollama >/dev/null 2>&1 || curl -fsSL https://ollama.com/install.sh | sh curl -s http://localhost:11434/api/version >/dev/null 2>&1 || (ollama serve >/tmp/ollama-serve.log 2>&1 &) for i in $(seq 1 60); do curl -s http://localhost:11434/api/version >/dev/null 2>&1 && break; sleep 1; done ollama pull gemma3:270m >/dev/null 2>&1 OUT=$(ollama run gemma3:270m "Turn these messy notes into a short, organized to-do list: - talked to Sam about the Q3 launch, he will send the deck - need to book the dentist - buy milk and coffee - reply to the landlord about the lease") if [ -n "$OUT" ]; then echo "chore1 OK: gemma3:270m produced a $(printf '%s' "$OUT" | wc -c | tr -d ' ')-char to-do list offline (quality fenced)" else echo "EMPTY OUTPUT"; exit 1 fi - 2
Use the recommended size for real work (the quality step, not checked by CI)
For day-to-day use, pull gemma3:4b (about 3.3GB, fits 8GB) or gemma3:12b (about 8GB, for 16GB). The bigger model writes a cleaner list. Output quality is non-deterministic, so CI never claims it.
Eval, 2 fixtures
Last passed: verified todayran-offlinecontainstimeout 600s · max $0Expected:
chore1 OK: gemma3:270m produced aclean-exitexit_codetimeout 600s · max $0Expected:
0
Results
The fastest way to feel the value on day one: rough notes in, clean list out, fully local and free. Gemma 3 4B (about 3.3GB) fits a typical 8GB laptop.
Did this work for you?
Our CI checks the setup runs. You tell us if the whole thing worked. Tell us straight.
Related workflows
- Prove your meeting-notes pipeline never phones home (and gates on consent)
- Unsloth: write parametric memory in with a fine-tune config
- Validate an Apple Core AI export entry and skill plugin before you touch a Mac
- Serve NVIDIA Nemotron 3 Ultra yourself for high-throughput agents (vLLM)
- Serve GLM-5.1 yourself for long-horizon agentic coding (vLLM)
- Serve MiniMax M3 yourself for agentic coding (vLLM)
Liked this workflow?
Get new verified workflows in WebAfterAI, three issues a week (Tue, Thu, Sat).