This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
SideQuest — Outside Quest
Less scrolling. More living.
An open-weight AI micro-adventure generator that gives you a reason to put your phone down and go outside.
What I Built
Most modern consumer AI is engineered to maximize screen time, message volume, and session retention. We chat with assistants, scroll generated text, and stay tethered to our desks.
I built SideQuest (OutsideQuest) with the opposite philosophy: the AI interaction should be the shortest part of the user experience.
SideQuest is a minimalist, privacy-first web application that uses a local, open-weight language model to generate bite-sized, real-world outdoor missions. It gives you an immediate, structured reason to step away from your screen and interact with the physical world.
How It Gets People Off the Screen and Into the World
- Under 60 Seconds on Screen: You choose how much time you have (from 15 minutes to 2 hours), select your current mood (11 curated vibes or a custom note), and pick your immediate environment (park, city sidewalk, backyard, neighborhood).
- Anti-Screen Prompt Engineering: The underlying AI model is strictly instructed never to suggest anything involving phones, photography, internet searches, apps, or social media. Missions are built entirely around sensory awareness — noticing seasonal leaf transitions, identifying quiet corners, tracing textured bark or stone, or listening for overlooked sounds.
- The Lock-and-Step Loop: When you tap Start Quest, a fullscreen 3-2-1 countdown sequence begins, followed by an active timer and a clear prompt: "Put your phone away. See you in X minutes." You lock your screen, pocket your phone, and head outdoors.
- Post-Quest Reflection: When you return, SideQuest calculates your minutes outside from start timestamps, records how your mood shifted before and after the quest, and saves your thoughts in a private local journal.
- Focus Guard: You can never have more than 2 ongoing quests active at once, discouraging quest hoarding and keeping your focus on completing real-world activities.
Who It Is For
- Developers & Remote Workers: Desk-bound professionals suffering from screen fatigue and decision paralysis during short breaks.
- Students: Anyone trapped in an infinite social media loop between study sessions.
- Everyday Explorers: People who want to take a walk but want a novel observational lens rather than an aimless wander.
Demo
- Live Demo Walkthrough: [https://youtu.be/ffJ03snJw5s]
- GitHug Submission: [https://github.com/NegiSushant/OutsideQuest]
Key Screens & Experience
-
Quest Customization (
/start): Granular time presets (15m, 30m, 45m, 60m, 120m, or custom minutes), 11 moods (Relax, Explore, Calm, Nature, Move, Create, Curious, Adventurous, Reflective, Anxious, Bored), and 8 environments (Outdoors, Park, City/Urban, Home/Yard, Nature, Quiet Spot, Mixed, Anywhere). Includes a one-click Surprise Me mode. -
Mission View (
/quest): Displays mission title, duration, tags, purpose, and ordered physical tasks. - Interactive Launch Modal: 3-2-1 animated launch sequence transitioning into an active countdown timer with pause and resume controls.
-
Reflection Journal (
/reflect): Full-context review of initial parameters and tasks, mood-before (pre-filled) vs. mood-after tracker, outside time counter, and personal reflection notes. -
Quest History (
/journal): Filterable log (All, Not started, Ongoing, Completed) with live running countdown badges and detail inspection modals.
Code
SideQuest — Outside Quest
Less scrolling. More living. An AI that gives you a reason to put your phone down and go outside.
🌱 What is SideQuest?
SideQuest (OutsideQuest) is an outdoor micro-adventure generator powered by a local, open-weight language model.
Instead of keeping you engaged in prolonged conversational dialogue, SideQuest is designed to do the opposite: take under a minute of your time, generate a small physical mission in your immediate environment, and tell you to put your phone away.
Who it is for
- Anyone experiencing digital fatigue from extended screen sessions.
- Remote workers and students needing a structured reason to take a short break outdoors.
- Anyone who wants to step outside but gets stuck deciding where to go or what to do.
The problem it addresses
Most outdoor and fitness applications demand continuous screen engagement — watching live maps, managing GPS routes, logging stats mid-walk, or photographing scenery…
GitHub Repository: https://github.com/NegiSushant/OutsideQuest
The project is completely open-source and built using Next.js 16 (App Router), React 19, Tailwind CSS v4, Bun, and Docker Desktop Model Runner.
How I Built It
SideQuest was built from the ground up around local open-weight AI, ensuring zero external API dependencies, zero tracking, and true offline capability.
1. Open-Weight Model & Local Inference
-
Model: Google’s Gemma 3 1B (
ai/gemma3:1b-q4_K_M), 4-bit medium quantized instruction-tuned model. -
Local Serving Engine: Docker Desktop Model Runner, exposing an OpenAI-compatible REST endpoint at
http://localhost:12434/engines/v1. - Hardware Efficiency: At under 1.5 GB of RAM/VRAM, Gemma 3 1B runs easily on standard consumer laptops without specialized GPU hardware. Early attempts to run 4B models triggered Out-Of-Memory allocation errors on local hardware, making the 1B variant the ideal balance of speed (under 3 seconds per quest), reliability, and lightweight footprint.
2. Guardrailed System Prompting
The system prompt (src/lib/prompts.ts) turns generative AI into an intentional departure tool:
- Enforces exact requested durations.
- Strictly forbids screen-based tasks: "Never suggest taking photos, browsing online, or social sharing."
- Focuses on sensory observation: "Focus on noticing, sensing, walking, sitting, comparing, or finding."
- Respects user physical constraints (e.g., knee fatigue, quiet preferences).
- Guarantees clean, deterministic JSON output.
3. A Real Example from the Application Logs
Here is an authentic test generation stored in quest-test-logs.json:
{
"preferences": {
"availableTime": 15,
"mood": "relax",
"environment": "park",
"notes": "Keep it quiet, i have knee problem"
},
"quest": {
"title": "Stroll Through the Park's Hidden Corner",
"duration": 15,
"goal": "Find a serene spot to sit and observe the surroundings",
"tasks": [
{
"id": "task-1",
"description": "Walk slowly to a quiet area of the park, avoiding main paths"
},
{
"id": "task-2",
"description": "Find a bench or a tree with a flat surface to sit on, and sit down"
},
{
"id": "task-3",
"description": "Observe the types of leaves and flowers around you, noticing any changes in the season"
},
{
"id": "task-4",
"description": "Listen to the sounds of nature, focusing on the quietest sounds, such as the rustling of leaves or the chirping of birds"
}
],
"tags": ["relaxation", "nature", "observation"],
"status": "completed"
}
}
4. Full-Stack Web Architecture
-
Frontend: Next.js 16 App Router with React 19, styled using Tailwind CSS v4 and
next-themesfor responsive dark and light modes. -
Server Handlers: Server-side route handlers (
/api/generate,/api/latest-quest,/api/update-quest-progress,/api/complete-quest) format prompts, validate JSON structures, and manage session lifecycles. -
Zero-Setup Local Persistence: Data persists to local JSON files (
quest-test-logs.jsonandfinal-quest.json) alongside browserlocalStorage, eliminating the need to set up remote databases.
Why Does Open Innovation Matter?
During early experimentation, I hit a cloud provider error recorded directly in my project logs:
"Failed to perform inference: You have no remaining credits. Purchase pre-paid credits to continue..."
That moment underscored why open innovation and local open-weight models are crucial for products like SideQuest:
- Intimate Privacy by Default: SideQuest asks users to log daily emotional states (e.g., feeling anxious, bored, or reflective), personal physical limitations (e.g., knee issues), and neighborhood locations. Streaming raw emotional reflections and habits to closed commercial cloud APIs is an unnecessary privacy risk. With local open-weight AI, zero bytes leave the host machine.
- Freedom from Paywalls & Artificial Scarcity: Closed APIs require subscription models, token metering, and credit card barriers. Open-weight models empower developers to build free, perpetual utility software that anyone with a laptop can run forever without paying per token.
- Resilience & Offline Independence: If you take your laptop to a cabin, a park bench with spotty mobile data, or travel without Wi-Fi, SideQuest still generates mindful quests on demand.
- Focused Utility: Gemma 3 1B demonstrates that open models don't need to be massive 70B parameter giants to deliver meaningful human impact. A lightweight 1B model running on local hardware is all it takes to help someone step away from their desk and reset their mind.
My Agent Session
Throughout the development of SideQuest, I utilized pair-programming agent workflows to iterate rapidly on system prompt edge cases, dynamic reverse timers, JSON database handlers, and responsive dark-mode UI tokens.
The entire development history, architectural decisions, and setup instructions are documented transparently in the repository's commit history and README.md.
Prize Categories
- Primary Category: Hacktoberfest 2026 Week 1 Challenge — “Touch Grass”
- Track: Local & Open-Weight AI (Google Gemma 3 via Docker Model Runner)
Less scrolling. More living. Put your phone away and go touch grass! 🌱
Top comments (1)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.