{"slug": "irl-quest-ai-that-gives-you-a-reason-to-put-your-phone-down", "title": "IRL Quest — AI That Gives You a Reason to Put Your Phone Down 🌿", "summary": "A developer built IRL Quest, a local-first Next.js web app that uses open-weight language models via LM Studio to generate real-world quests, deliberately inverting the engagement-maximizing pattern of typical conversational AI. The app routes prompts through Zod validation and a deterministic safety filter before hitting a local OpenAI-compatible API, then sends users into a distraction-free \"Touch Grass Mode\" countdown with a reflection journal stored in browser storage. Field tests documented in the repository cover an urban sidewalk, a public park, and a domestic balcony.", "body_md": "*This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass](https://dev.to/challenges/hacktoberfest-week1-2026-10-05)*\n\n**AI that gives you a reason to put your phone down.**\n\nBuilt for the Hacktoberfest Open-Source AI Challenge — Week 1: Touch Grass.\n\nMost modern consumer applications are designed to maximize digital engagement: longer sessions, deeper scroll depth, and habitual screen time. Conversational AI can fall into the same pattern, encouraging endless back-and-forth interactions.\n\n**IRL Quest turns that paradigm upside down.**\n\nThe successful user spends less time using the application, not more.\n\n```\nTraditional AI Apps:\nUser → Prompt → Endless Chat & Scroll → More Screen Time\n\nIRL Quest:\nUser → Preferences → Local AI Generation\n      → Put Phone Down → Explore the Real World\n      → Return → Brief Reflection\n```\n\nThe goal is simple: use AI to facilitate real-world experiences rather than keeping people glued to a screen.\n\n**Cover banner**\n\n**1. Quest Configurator (`/`)**\n\nConfigure quest preferences and check the local model connection.\n\n**2. Touch Grass Mode (`/active`)**\n\nA distraction-free interface with a countdown and the instruction to put the phone away.\n\n**3. Completion & Reflection (`/complete`)**\n\nCapture sensory observations and reflect on the experience.\n\n**4. Local Journal & Statistics (`/journal`)**\n\nReview completed quests, track time spent outdoors, and export journal data.\n\n**Real-world field testing**\n\nThe project includes documentation of outdoor tests in [`docs/FIELD_TESTS.md`](https://github.com/Ani0811/irl-quest/blob/main/docs/FIELD_TESTS.md), covering an urban sidewalk, a public park, and a domestic balcony.\n\n**Note:** Screenshots and test documentation supplement a demo; if you have a working deployed demo or video walkthrough, add its direct link here.\n\n`google/gemma-3-4b` and `Meta-Llama-3.1-8B-Instruct`, subject to availability in your LM Studio setup.\nThe source code and project documentation are available in the repository.\n\nIRL Quest is designed as a local-first web application, emphasizing user control, minimal distractions, and reduced dependence on cloud services.\n\n``` php\nflowchart TD\n    User[\"User\"] --> UI[\"Next.js / React Frontend\"]\n    UI --> Setup[\"Quest Setup\"]\n    Setup --> API[\"Next.js API Route\"]\n    API --> Schema[\"Zod Validation\"]\n    Schema --> Safety[\"Deterministic Safety Filter\"]\n    Safety --> Provider[\"AI Provider Abstraction\"]\n    Provider --> LM[\"LM Studio Local Server\"]\n    LM --> Model[\"Open-Weight Language Model\"]\n    Model --> Safety\n    Safety --> Active[\"Touch Grass Mode\"]\n    Active --> Complete[\"Reflection\"]\n    Complete --> Journal[\"Local Journal\"]\n    Journal --> Storage[(\"Browser Storage\")]\n```\n\n`AIProvider` interface communicates with LM Studio through its local OpenAI-compatible API.`Math.max(0, targetEndTimestamp - Date.now())`, helping the timer recover from backgrounding and screen-lock interruptions.\n\n```\ngit clone https://github.com/Ani0811/irl-quest.git\ncd irl-quest\nnpm install\n```\n\nStart LM Studio, load a supported model, and enable its local server on port `1234`. Then run:\n\n```\nnpm run dev\n```\n\nOpen `http://localhost:3000` and configure a quest.\n\nExact setup requirements may depend on your local environment and the model you choose.\n\nOpen innovation makes it possible to experiment with AI in ways that prioritize user autonomy rather than maximizing engagement.\n\nReal-world habits and personal reflections can be sensitive. A local-first design can keep journal data in browser storage and use local inference, reducing the need to transmit that information to third-party services.\n\nCloud-based AI requires network connectivity. Running inference locally can make quest generation available without an internet connection, provided the application, model, and required assets are already available on the device.\n\nOpen-weight models give developers more control over experimentation and deployment. Local inference can also avoid per-request API charges, although hardware, electricity, and setup still have costs.\n\nA model-agnostic provider abstraction makes it easier to experiment with different compatible models without redesigning the entire application.\n\nIRL Quest challenges the assumption that successful technology must maximize time spent inside an app. Here, success means helping someone leave the interface and engage with the world around them.\n\nOpen innovation makes this kind of experimentation more accessible to independent developers and the wider community.\n\nThis project was developed with AI-assisted programming support using Google's Antigravity, including assistance with implementation, testing, and debugging.\n\nIRL Quest supports Google's open-weight Gemma model through LM Studio for locally generating real-world quests. This allows users to generate personalized offline activities using local inference rather than relying on a cloud-hosted AI API.\n\nThe project combines open-weight AI with a local-first architecture to encourage real-world exploration while reducing dependence on external AI services.\n\nThank you to DEV, MLH, Google, and the Hacktoberfest 2026 team for championing open AI innovation!", "url": "https://wpnews.pro/news/irl-quest-ai-that-gives-you-a-reason-to-put-your-phone-down", "canonical_source": "https://dev.to/ani0811/irl-quest-ai-that-gives-you-a-reason-to-put-your-phone-down-4e06", "published_at": "2026-10-11 05:14:31+00:00", "updated_at": "2026-10-11 05:19:50.869414+00:00", "lang": "en", "topics": ["ai-products", "ai-tools", "large-language-models", "developer-tools"], "entities": ["IRL Quest", "LM Studio", "Next.js", "React", "Zod", "google/gemma-3-4b", "Meta-Llama-3.1-8B-Instruct", "Hacktoberfest Open-Source AI Challenge"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/irl-quest-ai-that-gives-you-a-reason-to-put-your-phone-down", "markdown": "https://wpnews.pro/news/irl-quest-ai-that-gives-you-a-reason-to-put-your-phone-down.md", "text": "https://wpnews.pro/news/irl-quest-ai-that-gives-you-a-reason-to-put-your-phone-down.txt", "jsonld": "https://wpnews.pro/news/irl-quest-ai-that-gives-you-a-reason-to-put-your-phone-down.jsonld"}}