Skip to main content

GrassMate: The Local AI Web App Telling You to Touch Grass

Discover GrassMate, a Hacktoberfest 2026 project powered by Gemma 3 4B running locally to generate outdoor missions and force you away from the screen.

AI-written
Inewgen
07 Oct 2026Source: Dev.to4 min read (0 views)
Share
GrassMate: The Local AI Web App Telling You to Touch Grass

Stock photo for illustration only, not from the actual event

Font size
  • GrassMate is a lightweight web application designed to pull users away from their computer screens.
  • It runs entirely local using Gemma 3 4B via Ollama, requiring no cloud API or user accounts.
  • Users input their available time, weather, and location to generate a collectible Adventure Card.
  • Hitting start replaces timers and maps with a direct prompt to close the laptop and pocket the phone.

In an era where many people spend their entire day staring at laptop screens while knowing they should step outside, figuring out what to do with the next 30 minutes can feel tedious. Simply telling oneself to "go for a walk" often lacks excitement. This challenge inspired the creation of GrassMate, a project submitted to the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass Submission.

GrassMate is built with a single core objective: to get you away from digital screens as fast as possible. The entire screen interaction takes only about 30 seconds of tapping, leaving the rest of your time dedicated entirely to the outdoor activity.

The experience begins by providing three quick pieces of information to the system:

  • How much time you have available
  • What the current weather is like
  • Where you are located (such as a park, beach, forest, village, or city)
notebook computer outdoor park nature

Stock photo for illustration only, not from the actual event

These inputs are processed locally by a Gemma 3 4B model running on your own laptop through Ollama. The model translates your inputs into a playful outdoor mission presented as a collectible Adventure Card, such as a "Leaf Hunter" mission with an Easy difficulty rating, a 30-minute time frame, and tasks like finding three different leaf shapes, listening for five sounds, walking down an unfamiliar street, and sitting quietly for five minutes, alongside a 🎲 Surprise Adventure option for random generation.

The most compelling aspect of GrassMate is its ironic reversal of typical artificial intelligence applications, which usually strive to maximize user engagement and screen time through complex algorithms. Instead, GrassMate utilizes on-device AI technology to encourage humans to disconnect from digital devices and reconnect with nature, demonstrating a creative approach to supporting user well-being.

Diverting sharply from conventional software design, pressing Start Adventure does not trigger an on-screen timer or navigation map. Instead, the display shows a firm, calm reminder: "🌱 Adventure begins now. Close this laptop. Put your phone in your pocket. We'll be here when you return."

Never miss the latest news?

Subscribe to get news summaries by email - not often enough to be annoying.

โฆษณา

Upon returning and reopening the device, a single reflection question awaits—such as "What surprised you most during today's walk?" Your answer is saved into an Adventure Journal, accompanied by a streak counter and simple achievement badges like First Adventure, Explorer, Nature Lover, and Seven-Day Streak to encourage consistent daily habits.

From a technical standpoint, the stack includes Next.js (App Router, TypeScript), Ollama, Gemma 3 4B (gemma3:4b), plain CSS, and the browser's localStorage. With zero databases, no user accounts, and no cloud APIs, all personal data remains strictly on your machine.

76sInitial processing time per mission on low-end hardware
45-60sCurrent processing time operating at roughly 4 tokens per second

The developer tested the application on a modest everyday laptop featuring an Intel Core i5-10210U processor (4 cores, 15W) with 16 GB of RAM and a 2 GB NVIDIA MX130 GPU. While the initial prototype required 76 seconds per mission, optimization efforts—such as trimming prompt tokens since Ollama only caches identical prompts—improved performance. The API route streams responses as newline-delimited JSON so the browser populates the Adventure Card field by field as generation progresses.

Source: Dev.to

Comments

Leave a Comment
0/2000

Found something wrong in this article? Report an issue with this article