๐ฟ GrassQuest AI โ Hacktoberfest 2026 "Touch Grass"
"Touch Grass. Literally."
A privacy-first, offline-capable outdoor quest generator powered by local open-weight AI.
๐ Project Concept
GrassQuest AI is a privacy-first outdoor activity generator built specifically for the Hacktoberfest 2026 "Touch Grass" challenge.
The goal is simple:
Use open-source and open-weight AI to encourage people to spend LESS time on their screens and MORE time outdoors in nature.
Unlike conventional AI tools that draw users deeper into infinite screen scrolling and digital chats, GrassQuest AI uses AI as a brief launchpad. It generates a personalized real-world micro-quest (e.g., 20 minutes of nature observation or a mindful walking walk) and then explicitly instructs you to put your phone away and step outside.
The AI interaction is the shortest part of your experience.
๐ฏ The Problem & Solution
The Problem
Modern AI applications and social media platforms are optimized for screen retention, endless doomscrolling, and perpetual device engagement, leading to digital fatigue and disconnect from physical nature.
The Solution
GrassQuest AI inverts the modern app paradigm:
- Input: Select your available time (e.g., 10m, 20m, 30m, 1h), activity type, and environment.
- Generate: A local open-weight AI model generates 2โ4 safe, actionable outdoor observation objectives.
- Touch Grass: Prominent UX banners tell you "๐ฑ PUT YOUR PHONE AWAY ๐ณ GO TOUCH GRASS".
- Disconnect & Explore: Pocket your phone, head outside, run the countdown timer, and earn Grass Points upon completion.
๐ Core Features
- ๐ข Local Open-Weight AI Core: Runs 100% locally using Ollama (e.g.,
gemma3:4b,gemma:2b,llama3.2:1b,mistral). - ๐ Privacy-First Architecture: Zero external API calls, zero server-side user tracking.
- โ๏ธ Offline Capable: Works without an active internet connection once dependencies and model are downloaded.
- ๐ฑ Screen-Free UX Focus: Explicit banners and notifications encouraging users to pocket their devices.
- โฑ๏ธ Interactive Outdoor Quest Timer: Built-in countdown timer with pause/resume and quick finish.
- ๐ Grass Points & Level Progression:
-
0 โ 499 pts: ๐ฑ Seedling -
500 โ 999 pts: ๐ฟ Explorer -
1000 โ 1999 pts: ๐ณ Nature Walker -
2000+ pts: ๐ฒ Grass Master
-
- ๐ Local Quest History: Tracks completed outdoor minutes and past missions strictly inside browser
LocalStorage. - ๐ก Hackathon Demo Mode: Built-in simulated local AI toggle so judges can test the full app experience instantly even if Ollama is not installed!
๐ ๏ธ Technology Stack
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | React 18 + Vite | Fast, modern, responsive UI |
| Icons | Lucide React | Nature-inspired clean vector icons |
| Styling | Vanilla CSS Design System | Glassmorphism, custom tokens, zero heavy frameworks |
| Backend | Python + FastAPI | High-performance async API server |
| Local AI | Ollama API | Inference engine for open-weight models |
| Storage | Browser LocalStorage
|
Zero-tracking local data persistence |
๐ System Architecture
flowchart TD
User([๐ค User]) -->|1. Select Time & Activity| ReactUI[๐ฟ React + Vite Frontend]
ReactUI -->|2. POST /generate-quest| FastAPI[โก FastAPI Backend]
FastAPI -->|3. Local HTTP API| Ollama[๐ฆ Ollama Local Engine]
Ollama -->|4. Inference| Model[๐ค Gemma / Open-Weight AI]
Model -->|5. Structured JSON| FastAPI
FastAPI -->|6. Quest Payload| ReactUI
ReactUI -->|7. "๐ฑ Put Phone Away"| User
User -->|8. Go Outdoors & Touch Grass| Outdoor[๐ณ Physical Nature]
๐ Why Open Innovation Matters
In an era dominated by centralized, proprietary cloud AI APIs, GrassQuest AI stands for open innovation:
- User Privacy: Your outdoor habits, location context, and routine are never transmitted to third-party ad networks or cloud servers.
-
Model Freedom: Swap models freely (
OLLAMA_MODEL=gemma3:4btollama3.2:1b) without vendor lock-in. - Zero Per-Request Cost: Run unlimited quests locally without API tokens or subscription paywalls.
- Offline Resilience: Essential outdoor wellness tools should remain functional in remote parks, forests, or internet outages.
- Community Control: Transparent, customizable prompts and open-source codebase.
Cloud AI vs. GrassQuest AI
| Feature | Closed Cloud AI (Traditional) | GrassQuest AI (Open Innovation) |
|---|---|---|
| Data Flow | User โ Internet โ Cloud API โ AI | User โ Local Machine โ Local AI |
| Internet Required? | โ Yes (Always) | โ No (Runs 100% Offline) |
| API Costs | โ Per-token charges | โ Free forever |
| Model Swappability | โ Locked to provider | โ
Swappable via .env
|
| User Privacy | โ ๏ธ Remote data logging | ๐ 100% On-Device |
โก Quickstart & Installation (Windows Guide)
1. Prerequisites
Ensure you have installed:
- Node.js: v18+ (Download)
- Python: v3.10+ (Download)
- Ollama: (Download Ollama for Windows)
2. Ollama Setup
Start Ollama and pull your preferred open-weight model:
# Start Ollama service (if not already running as background service)
ollama serve
# Download the lightweight Gemma open-weight model
ollama pull gemma3:4b
3. Clone Repository
git clone https://github.com/guunda/GrassQuest
cd grassquest-ai
4. Setup Backend (FastAPI)
cd backend
# Create Python virtual environment
py -3 -m venv venv
# Activate virtual environment
.\venv\Scripts\Activate.ps1
# Install requirements
pip install -r requirements.txt
# Create .env from template
Copy-Item .env.example .env
# Run FastAPI backend
uvicorn main:app --reload --port 8000
Backend runs at http://localhost:8000
5. Setup Frontend (React + Vite)
Open a new terminal window:
cd grassquest-ai/frontend
# Install dependencies
npm install
# Start development server
npm run dev
Frontend runs at http://localhost:5173
โ๏ธ How to Test Offline Mode
- Ensure Ollama and FastAPI are running, and model
gemma3:4bis downloaded. - Open
http://localhost:5173in your web browser. - Click ๐ฟ GENERATE MY QUEST to verify local AI generation works.
- Disconnect your computer from Wi-Fi / Ethernet.
- Select a different duration (e.g., 30 min) and click ๐ฟ GENERATE MY QUEST again.
- Observe that quest generation succeeds seamlessly without internet!
๐ก Hackathon Demo Mode
If you are running the project on a machine where Ollama is not installed or the model is still downloading, simply click the Demo Mode toggle switch in the top header.
GrassQuest AI will generate rich, deterministic outdoor quests simulated locally, allowing judges to test the entire quest workflow, countdown timer, points, and rank progression immediately!
๐ฎ Future Roadmap
- ๐ท Local Vision Model Integration: Identify local leaves and birds using local multimodal open models (e.g.
llava). - ๐ค๏ธ Offline Weather Adaptability: Adjust activity intensity based on local temperature or sunlight.
- โ Wearable Integration: Sync completed outdoor minutes with offline smartwatch trackers.
- ๐บ๏ธ Community Quest Presets: Share screen-free quest prompt templates via open-source contribution.
๐ License
This project is open-source software licensed under the MIT License.
Built with โค๏ธ for Hacktoberfest 2026 "Touch Grass" Challenge.
Top comments (0)