grasscard: a local model that prints you a pocket card of outdoor quests, then gets out of the way The Engel AI Lab team built grasscard, an open-source Python tool that runs Gemma 3 1B locally via Ollama to print a small card of five short outdoor quests tailored to available time, location, season and current light, then logs a one-line journal entry on the user's own machine. The tool requires Python 3.9+ with no dependencies, is MIT licensed, ships with 13 unit tests, and generates a card in roughly 5 seconds on CPU (about 45 seconds on a cold run on a busy shared machine). The team said a hosted model would have been faster but would have required an account, a key and sending location data to another server, "which is the opposite of what a 'go outside' tool should ask for. This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass https://dev.to/challenges/hacktoberfest-week1-2026-10-05 Most "go outside" apps want you to keep looking at them. grasscard does the opposite. You run one command, it prints a small card with five short outdoor quests that fit how much time you have, where you are, the season and the light outside right now, and then it's done. The screen part takes about a minute. The rest happens outside. After the walk, grasscard log "..." adds one line to a journal file on your own machine, so you have a record of what you actually did without posting it anywhere. It's for people like me who spend the whole day in a terminal and need a nudge that doesn't come with a feed attached. This is a real 32-second run on Gemma 3 1B, in real time with no edits: a card for a 45-minute trail walk in light rain with a dog, the printable version, and a journal line afterwards. Here's a real card, printed by Gemma 3 1B running locally. Open it on your phone and tap a quest to tick it off: Try it: ollama pull gemma3:1b python -m grasscard card --minutes 30 --place park You can add a note like "light rain, with my dog" and the quests adjust. --mock runs it with no model at all, which is handy for a quick look. grasscard on GitLab: https://gitlab.com/engelstands-hue/grasscard https://gitlab.com/engelstands-hue/grasscard Python 3.9+, no dependencies, MIT licensed, 13 unit tests. The flow is small on purpose: The prompt and the no-screens filter are each one short Python file, so changing what counts as a good quest is a quick edit, not a config hunt. On CPU only, a card takes a few seconds to under a minute depending on the machine the recorded run took about 5 seconds; a cold first run on a busy shared machine took about 45 . That's fine for something you run once before heading out. The whole point is a tool that respects the walk, so the model runs where you are: --model , and you can rewrite the prompt or the filter yourself. A hosted model would have made the cards a bit faster, but it would have meant an account, a key and sending where you are to someone else's server, which is the opposite of what a "go outside" tool should ask for. Best Use of Gemma: Gemma 3 1B is the default model and does all of the quest generation, locally. Built by the Engel AI Lab team: https://engelailabs.com https://engelailabs.com