cd /news/ai-products/sidequestmaxxing-p-turn-your-city-in… · home › topics › ai-products › article
[ARTICLE · art-149127] src=dev.to ↗ pub= topic=ai-products verified=true sentiment=↑ positive

sidequestmaxxing :p (Turn Your City Into an Open-World Game)

A developer built Sidequestmaxxing, an open-source AI application that turns a neighborhood into an open-world game map, using a small open-weight language model fine-tuned as an AI Dungeon Master to generate one real-world quest at a time. The system grounds quests in real locations via OpenStreetMap and context such as time of day, weather, and remaining daylight, then speaks the briefing aloud so users can leave their phones behind. Photo verification runs on-device with Gemma 3n via WebGPU, keeping images local, and completed quests earn XP across seven skill categories.

by read9 min views1 publishedOct 11, 2026

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass Sidequestmaxxing is built around a simple idea: what if you treated real life like an open-world video game?

The term comes from a Gen Z lifestyle trend of collecting side quests instead of focusing exclusively on the main quest. Your main quest might be your degree, career, or daily responsibilities. Side quests are everything else: exploring a street you've never walked down, finding a hidden café, learning to identify birds, visiting a local art installation, striking up a conversation with a stranger, or picking up a random niche skill just because it sounds interesting.

These small, low-stakes adventures make everyday life feel less repetitive and give you a reason to explore beyond your usual routine. I wanted to take that idea literally and build a game engine for real life.

Sidequestmaxxing turns your neighbourhood into an open-world map, with an AI Dungeon Master that gives you one real-world quest at a time. It is my submission to the Touch Grass Open Source AI Challenge, built around one central principle: AI should give people more reasons to leave their screens, not more reasons to stare at them.

Set up your quest. Tell Sidequestmaxxing how many minutes you have, what mood you're in, and what kinds of activities interest you. You can also configure your Dungeon Master's persona and the radius you're willing to explore.

Your AI Dungeon Master builds an adventure. A small open-weight language model, designed to be LoRA fine-tuned into a Dungeon Master, generates exactly one quest at a time. The system combines your preferences with real-world context, including the time of day, weather, remaining daylight, and nearby places discovered through OpenStreetMap. The quest is grounded in actual locations, with the goal of choosing an adventure that fits your available time and is practical to complete on foot.

Listen, then leave your phone behind. Your quest briefing is spoken aloud, with a choice of four Dungeon Master voices. Once you're ready, enter Walk Mode. The interface fades to near-black, making the phone less tempting to use while you are outside. The app is designed to brief you before the adventure, not demand your attention throughout it.

Complete the quest in the real world. Go explore. It could be an unfamiliar street, a nearby landmark, or another small adventure based on the places around you. The point is to experience something outside your normal routine rather than complete another task on a screen.

Verify your adventure privately. After returning, you can submit a proof photo for verification. On supported devices, Gemma 3n can run directly in the browser using WebGPU to assess whether the photo matches the quest. The photo stays on your device: the application has no server endpoint for up it. If on-device model support is unavailable, alternative verification options include a check-in or honour mode.

Turn adventures into progression. Completing quests earns XP and advances seven skill categories: Explorer, Naturalist, Social, Foodie, Creative, Fitness, and Mindful. You can unlock badges, track recent adventures, and build a Chronicle of your week, turning small experiences into a campaign log of your life. A personal Journal lets you preserve notes and memories from your quests.

The Touch Grass challenge is not just about building an AI application with an outdoor theme. It is about using AI to help people disengage from their devices and reconnect with the physical world.

That principle shapes the entire experience. Sidequestmaxxing generates one quest rather than an endless feed of recommendations. It speaks the instructions aloud so you do not need to keep checking your screen. Walk Mode reduces visual distractions. Your Journal stores entries locally on your device, and supported on-device photo verification means your proof does not have to be uploaded to a server.

Even the XP system reflects this philosophy: it includes a 1.2x multiplier when screen usage stays below 10% of the quest duration. The goal is to reward actually going outside, not spending more time interacting with the app.

Open-weight models make it possible to shape the Dungeon Master's behaviour around a specific purpose instead of treating it as a generic chatbot. OpenStreetMap provides real-world place data, while the broader stack uses tools that make the system easier to inspect and build upon.

The project also explores a second role for open-weight AI: running vision verification locally in the browser. Instead of sending a personal photo to a remote vision API, a supported device can process it locally. This is a practical example of how open models can support both customisation and privacy.

Not every component is open source. Voice generation currently uses ElevenLabs, with browser speech synthesis as a fallback. The project combines open and hosted components where each serves a purpose, while keeping the core experience focused on getting people outdoors.

Anyone who keeps saying they want to go outside, try something new, learn a random skill, or explore their own city, but ends up following the same routine instead.

Sidequestmaxxing makes starting smaller and easier. You do not need to plan an entire day, organise a trip, or commit to a new hobby. You just need a little time and one reason to step out.

The adventure does not have to be extraordinary. It just has to be something you would not normally have done.

Your city is the game. Your phone is just the quest log.

Built for the Touch Grass Open Source AI Challenge.

An open-weight Dungeon Master reads your neighbourhood, writes you one real side quest speaks it into your earbuds, and then gets out of the way so you can go outside and do it.

Built for the DEV Touch Grass challenge (Hacktoberfest Open-Source AI Challenge, Week 1).

Side quest maxxing is Gen Z slang for treating real life the way you treat an open-world game. Instead of grinding only the main quest (your career, your degree, your to-do list), you deliberately seek out, collect and fully dive into random, low-stakes, spontaneous detours: the market three streets over, the hill you have never walked up, the mural behind the bus depot. Daily routines, hobbies and small unexpected adventures get treated as optional side quests, which builds skills, sparks joy, and makes life more interesting.

This project…

The README is the long version: every validator, the API contract, the data model, and an honest ledger of what's open and what isn't.

Sidequestmaxxing combines open-weight AI, real-world map data, and deterministic safety checks to turn everyday life into a game. The core idea is simple: the AI handles the planning so you can put your phone away and go explore.

Model Where it runs Purpose
Qwen-class open-weight model llama.cpp on a private Render service, CPU-only Generates quests as the Dungeon Master
Gemma 3n Player's browser via WebGPU Verifies proof photos on supported devices
BGE-small-en-v1.5 API container via fastembed Finds relevant places and detects repetitive quests

There is no hosted LLM API in the quest-generation path.

The app has three services: a React and TypeScript PWA (sqm-web), a FastAPI backend ( sqm-api), and a private llama.cpp inference service (sqm-llm). Testing the first version revealed that obvious keyword filters were not enough. In an expanded adversarial suite, 34 of 104 test cases initially bypassed the existing validators. These included unsafe suggestions involving private property, surveillance, water, and thunderstorms. All 34 are now rejected.

I also found a prompt-injection risk in OpenStreetMap place names. Because map data can be edited by anyone, malicious instructions could be disguised as a location name. I added a sanitisation layer that removes instruction-like text while preserving legitimate names. Place grounding relies on stable IDs, so sanitisation does not break the connection to real locations.

The training pipeline uses real seeded places, geographic train/test splits, and deliberately difficult cases, including missing candidates and indoor-only conditions. Candidate examples are filtered through the same validators used in production before LoRA fine-tuning.

The intended evaluation measures the quantized model actually served in production, with a target of at least a ten-percentage-point improvement in full validator pass rate or a clear latency and cost advantage.

Check Result
API tests 837 passed
Frontend tests 119 passed
Playwright tests 10 passed
Strict type checking 54 files, no issues
Secret scanning No secrets found in the tree or Git history

A custom Content Security Policy test also runs the production build in Chromium, checks all eleven routes, and verifies that the map and real OpenStreetMap tiles load.

The model is responsible for generating the adventure, not controlling the entire system. Deterministic code handles safety checks, validation, and progression, while open-weight models provide customisation and the option of on-device photo verification.

1. I can shape the model, not just prompt it.

Sidequestmaxxing is designed around an open-weight Dungeon Master that can be adapted using LoRA, quantised into GGUF, and served through llama.cpp. This gives me control over the model weights and deployment, rather than tying the experience to a single hosted LLM provider. The same validation rules are shared across training, evaluation, and production to keep quest generation grounded and safe.

2. Privacy is built into the architecture.

On supported devices, Gemma 3n can verify proof photos directly in the browser using WebGPU. The API has no image-upload endpoint, so photos do not need to leave the device for verification. This makes local inference a practical privacy advantage, not just a promise in a privacy policy.

3. The model can run without a GPU.

Quantised GGUF models make CPU inference possible, including on modest hardware. With a configurable inference endpoint, the backend can also be pointed at another compatible model server instead of being permanently tied to one provider.

4. Open data makes neighbourhood exploration more accessible.

OpenStreetMap provides real-world place data, Open-Meteo supplies weather information, and BGE-small enables local CPU-based embeddings. These components reduce dependence on proprietary data providers and per-request AI fees, while making it easier to inspect and adapt the system.

Open innovation matters because it gives us control over how AI is customised, where it runs, and how personal data is handled. For Sidequestmaxxing, those freedoms help build an experience that gets people off their phones and into the world.

LLM_HOSTPORT injected service-to-service.speechSynthesis fallback.gen_ai.invoke_agent / gen_ai.chat with token counts and latency, and three tags (source, retry, validator_failures) — prompts and completions deliberately never attached.

-- The screen is the shortest part. Go live outside and Touch Grass :p.

── more in #ai-products 4 stories · sorted by recency
── more on @sidequestmaxxing 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/sidequestmaxxing-p-t…] indexed:0 read:9min 2026-10-11 · —