DEV Community

Cover image for I vibe coded a Trail Bingo tailored to your Location and preferred time
Saroj Paudel
Saroj Paudel

Posted on AI-assisted

I vibe coded a Trail Bingo tailored to your Location and preferred time

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

I spend too much time on screens, so for the Touch Grass theme I wanted to build something where the screen is the shortest part of the experience.

What it is

Trail Bingo is a single Python script. You tell it where you’re going and how long you have:

python3 trail_bingo.py --place "forest trail near Butwal" --minutes 45

It writes a printable 3×3 nature bingo card. The challenges fit your place, the current season and your time: spot something green smaller than your thumbnail, listen for a bird you can’t see, find three shades of brown. The center square is always “stand still for one full minute”. The card ends with a reflection question to answer on the way home.

You print it, put your phone in your pocket, and go outside.

Demo

Video Demo: https://drive.google.com/file/d/1lEXove5MtEjXOkQ2nbnzbz4-F-Gqb97W/view?usp=sharing

Code

GitHub logo saroj-paudel / TrailBingo

a single Python file that asks a local open-weight model (through Ollama) for a nature bingo card matched to your place, season and time. It prints the card as a one-page sheet, so you put the phone in your pocket and go outside.

How I Built It

The challenges are written by a open-weight model, gemma4, running locally through Ollama. The script sends a request to localhost:11434, so there’s no API key, account or cloud.

The design is deliberate:

  • The AI does one job. It writes context-aware challenge ideas. Everything else is plain Python and HTML.
  • The prompt does the real work. It supplies place, season and duration, asks for a mix of seeing, hearing, touching and smelling, caps each item at 10 words, and tells the model to leave nature unharmed.
  • JSON mode keeps a small model reliable. Ollama’s format: json stops it from rambling around the answer.
  • There’s a fallback. If the model isn’t running or returns bad output, a built-in set of 12 challenges takes over, so the tool never leaves you stuck at a trailhead.
  • The output is plain HTML with print CSS, so it fits one page and works on any printer.

I built it by vibe coding with Claude, then read through and tested it myself.

Why Does Open Innovation Matter?

Trail Bingo has to work in the one place cloud AI doesn’t: standing at a trailhead with no signal.

It runs offline. After a one-time model download, it needs no internet.
Your location stays yours. Where you walk and when never reaches a server I don’t control.
It costs nothing to run. Every card is free, with no rate limits or API bill.
I can swap and change things. Switching models is one flag (--model), and the prompt is plain text I can edit to make birding, kids’ or foliage versions. The same setup could use a multilingual model for Nepali cards, or be fine-tuned on a local field guide. A closed API would make each of those a pricing, privacy or policy question.

Prize Categories

  • Best use of Gemma4

Top comments (0)