DEV Community

Smaranika
Smaranika

Posted on

Mosey: a local Gemma app that deals you a walk, then makes you put the phone away

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

"Go for a walk" is good advice that is hard to follow. The walk itself is easy. What's hard is knowing what to do with it, and the phone is right there making it easy to skip.

So I built Mosey: an app that deals you a walk. You tell it how long you have and how you feel, a local Gemma model writes you a pocket card of small, odd things to notice, and then the app does its best to disappear.

Mosey walk card

What I Built

Mosey is a single web page with four parts:

  • 🃏 Deal. Pick 15, 30 or 60 minutes, a mood (calm, curious, energetic, fried from screens), and optionally where you are. Gemma writes a card with a playful title, one task per sense, a phone rule for the walk and a question to carry home.
  • 📵 Phone-away mode. One button turns the screen black with a countdown. The card can also be printed or saved as a PDF, so you can walk out with paper and leave the phone behind.
  • 📓 Field note. Back home, jot a few rough words. Gemma turns them into a short journal entry using only what you wrote.
  • 🧰 Built-in deck. If no local model is found, Mosey deals from a hand-written deck, so it always works.

The goal was to make the screen the shortest part of the experience. The whole interaction is about thirty seconds on the page, then the walk, then a minute afterwards.

The tasks are meant to be specific and a little strange. "Find three different shades of green and decide which one is the winner" gives you something to do. "Enjoy nature" doesn't.

Demo

Live: https://smaranikamondal.github.io/Mosey/

The hosted copy deals from the built-in deck, because a static site can't run Gemma. If you have Ollama installed and running with OLLAMA_ORIGINS set, the page finds your local Gemma and writes the cards itself. The README has the steps.

Phone-away mode

Status line showing local Gemma ready

Code

🌿 Mosey

Deal yourself a walk. Then put the phone away.

A pocket walk card written by an open model on your own laptop. No account, no cloud, no per-request cost.

HTML deps model Hacktoberfest

Mosey walk card


Why this exists

Most people know they should go outside more. The hard part is knowing what to do once you're out there, and the phone is right there making that easy to skip. Mosey gives you a small, specific reason to look around, then gets out of the way.

Built for the Hacktoberfest Open-Source AI Challenge, Week 1: Touch Grass (Oct 5-11, 2026).

What it does

🃏 Deal Pick how long you have (15, 30 or 60 minutes), your mood, and optionally where you are. Gemma writes a card with a playful title, one odd noticing task per sense, a phone rule and a question to carry home.
📵 Phone-away mode A black countdown screen so the app
…

How I Built It

The app is one HTML file with no framework, no build step, and no dependencies. The model is Gemma, served locally by Ollama.

1. The page finds the model for you. On load, it calls Ollama's /api/tags, lists the installed models, and picks a Gemma one. If Ollama isn't running, the status line says so, and the built-in deck takes over.

2. The prompt asks for a fixed shape. The request includes the day, the time of day, the minutes available, the mood, and the place. Gemma has to reply with JSON in this form:

{
  "title": "3-5 word playful title",
  "intro": "one short sentence setting the scene",
  "stops": [{ "sense": "look|listen|touch|smell|do|wonder", "text": "one concrete task" }],
  "rule": "one short phone rule for this walk",
  "closer": "one reflective question"
}
Enter fullscreen mode Exit fullscreen mode

The card gets 4, 5, or 6 stops depending on whether you chose 15, 30, or 60 minutes, and each stop must use a different sense. The prompt also tells the model to avoid anything that needs equipment, money, or a screen, anything unsafe and anything involving trespassing, and to fit the season, time of day and place.

3. Ollama's JSON mode, then validation. Requests use format: "json". The reply is then parsed defensively: the code pulls out the first {...} block, checks that there's a title and at least three stops, and drops stops with no text.

4. A fallback instead of an error. If the reply is broken, or Ollama isn't there, Mosey deals from a hand-written deck of tasks for each of the six senses, with titles and phone rules to match the mood. A broken model response never shows up as an error screen.

5. The field note is deliberately small. The prompt asks for three or four sentences and tells the model to use only the details in your notes and not to invent events.

Honest limits.

  • Nothing in the code checks the model's tasks for safety. The prompt asks for safe ones, but a small model can still suggest something silly. Use your own judgment about where you walk.
  • Cards depend on the model. A small Gemma can be generic or repeat itself, and the first card can be slow while the model loads.
  • The field note can embellish even when told not to. Read it before you keep it.
  • Mosey can't tell whether you actually went outside.
  • Safari blocks https pages from calling http://localhost, so the Gemma path on the hosted site needs Chrome, Edge or Firefox.

Why Does Open Innovation Matter?

A walk card is a few sentences of text. It shouldn't need an account, an API key, a subscription, or a connection. Open models make that true:

  1. It works anywhere. Once the model is on the laptop, it runs with no signal at all, which is where a walk often starts.
  2. It's private. Where you walk and how you feel never leave your machine. There is no server of mine in the loop, and no analytics.
  3. Every card is free. You can deal ten walks and keep the best one without thinking about cost.
  4. Swapping models is trivial. The model dropdown is filled from whatever Ollama has installed, and changing how the cards behave is a prompt edit.

Prize Categories

  • Best Use of Gemma. Gemma writes every card and field note locally through Ollama, and the app detects and selects it automatically.

Built with AI coding assistance. I directed it, reviewed the code, and ran it myself. Gemma is provided under and subject to the Gemma Terms of Use found at ai.google.dev/gemma/terms.

Top comments (0)