GrassQuest A developer built GrassQuest AI, a privacy-first outdoor activity generator for the Hacktoberfest 2026 "Touch Grass" challenge that runs entirely offline using local open-weight models via Ollama. The React/Vite frontend and FastAPI backend generate a personalized real-world micro-quest and then instruct the user to put the phone away, with all data kept on-device in browser LocalStorage and models swappable through an .env file. "Touch Grass. Literally." A privacy-first, offline-capable outdoor quest generator powered by local open-weight AI. 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. 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. GrassQuest AI inverts the modern app paradigm: gemma3:4b , gemma:2b , llama3.2:1b , mistral . 0 – 499 pts : 🌱 500 – 999 pts : 🌿 1000 – 1999 pts : 🌳 2000+ pts : 🌲 LocalStorage . | 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 | php 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 In an era dominated by centralized, proprietary cloud AI APIs, GrassQuest AI stands for open innovation: OLLAMA MODEL=gemma3:4b to | 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 | Ensure you have installed: 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 git clone https://github.com/guunda/GrassQuest cd grassquest-ai 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 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 http://localhost:5173 in your web browser. 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 llava . This project is open-source software licensed under the MIT License https://dev.toLICENSE . Built with ❤️ for Hacktoberfest 2026 "Touch Grass" Challenge .