<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tanmay Dalvi</title>
    <description>The latest articles on DEV Community by Tanmay Dalvi (@tanmay3929).</description>
    <link>https://dev.to/tanmay3929</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4169478%2F6a48d59f-46bf-4f29-9e02-1a0cfcd65aef.png</url>
      <title>DEV Community: Tanmay Dalvi</title>
      <link>https://dev.to/tanmay3929</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tanmay3929"/>
    <language>en</language>
    <item>
      <title>GreenQuest 🌿 — Turning Open-Weight AI into Real-World Outdoor Adventures</title>
      <dc:creator>Tanmay Dalvi</dc:creator>
      <pubDate>Sun, 11 Oct 2026 11:31:57 +0000</pubDate>
      <link>https://dev.to/tanmay3929/greenquest-turning-open-weight-ai-into-real-world-outdoor-adventures-1cl6</link>
      <guid>https://dev.to/tanmay3929/greenquest-turning-open-weight-ai-into-real-world-outdoor-adventures-1cl6</guid>
      <description>&lt;h1&gt;
  
  
  🌿 GreenQuest: Turning Open-Weight AI into Real-World Outdoor Adventures
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05"&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;What if AI could help us spend less time looking at screens and more time experiencing the world around us?&lt;/p&gt;

&lt;p&gt;That's the idea behind &lt;strong&gt;GreenQuest&lt;/strong&gt;, a local-first, offline-capable outdoor companion that turns 15–60 minutes of free time into personalized nature micro-adventures.&lt;/p&gt;

&lt;p&gt;Instead of endlessly scrolling through a phone, users can choose their environment, available time, mindset, physical energy, sensory interests, and companions. GreenQuest turns those preferences into a structured outdoor quest with practical activities, progress tracking, and safety guidance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foa038cmlry9o808068k1.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foa038cmlry9o808068k1.jpeg" alt="screenshot1" width="800" height="1576"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Whether you're visiting a forest, walking through a city park, exploring a garden, or spending time near a waterfront, GreenQuest encourages you to slow down and notice things you might otherwise overlook.&lt;/p&gt;

&lt;p&gt;A typical quest might invite you to listen to the sounds beneath a tree canopy, observe the textures of tree bark, or discover the miniature world growing on a fallen log.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7hov7d5t6bxlbwupk4qa.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7hov7d5t6bxlbwupk4qa.jpeg" alt="screenshot2" width="800" height="1574"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Each quest includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Personalized outdoor activities with step-by-step instructions.&lt;/li&gt;
&lt;li&gt;A duration suited to the user's available time.&lt;/li&gt;
&lt;li&gt;Sensory prompts for sight, sound, touch, scent, and spatial awareness.&lt;/li&gt;
&lt;li&gt;Progress tracking and completion feedback.&lt;/li&gt;
&lt;li&gt;Outdoor safety guidance and Leave-No-Trace principles.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgr5vm3efzkpgcnjmujm8.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgr5vm3efzkpgcnjmujm8.jpeg" alt="screenshot3" width="800" height="1574"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc3e3jgm58zkkzug7z52y.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc3e3jgm58zkkzug7z52y.jpeg" alt="screenshot4" width="610" height="1278"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GreenQuest also keeps a local history of saved quests, allowing users to revisit their experiences without creating an account.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxvhreauldwraglvbokh3.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxvhreauldwraglvbokh3.jpeg" alt="screenshot5" width="612" height="1280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Built for the real world, including offline situations
&lt;/h3&gt;

&lt;p&gt;GreenQuest is designed to remain useful when the internet isn't available. Its Progressive Web App (PWA) caches essential assets, quest history is stored locally, and a browser-side deterministic generator can create activities when the backend cannot be reached.&lt;/p&gt;

&lt;p&gt;The application also includes safeguards against risky activities such as consuming wild plants, trespassing, disturbing wildlife, and unsafe exploration.&lt;/p&gt;

&lt;p&gt;The objective is simple: &lt;strong&gt;use technology to help people disconnect from technology.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;🌐 &lt;strong&gt;Live application:&lt;/strong&gt; &lt;a href="https://greenquest-pwa.onrender.com" rel="noopener noreferrer"&gt;https://greenquest-pwa.onrender.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Try creating a quest, completing its steps, and revisiting it through the saved history panel.&lt;/p&gt;

&lt;p&gt;The hosted demo uses a deterministic nature-quest engine on the backend. The local version supports open-weight AI inference through Gemma 3 1B and Ollama.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;💻 &lt;strong&gt;GitHub repository:&lt;/strong&gt; &lt;a href="https://github.com/Tanmay-Dalvi/greenquest" rel="noopener noreferrer"&gt;https://github.com/Tanmay-Dalvi/greenquest&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GreenQuest is open source under the MIT License.&lt;/p&gt;

&lt;p&gt;The repository contains the React/TypeScript frontend, FastAPI backend, AI orchestration logic, safety validation, tests, and deployment configuration.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;GreenQuest uses a modular architecture so the application doesn't depend on a single proprietary AI provider.&lt;/p&gt;

&lt;h3&gt;
  
  
  Technology stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; React, TypeScript, Vite, and Tailwind CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Progressive Web App:&lt;/strong&gt; Service Worker caching and local browser storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Python, FastAPI, and Pydantic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local AI:&lt;/strong&gt; Gemma 3 1B running through Ollama.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Orchestration:&lt;/strong&gt; Lightweight Python state machine coordinating generation and validation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Testing:&lt;/strong&gt; Pytest for the backend and Node's built-in test runner for API URL normalization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deployment:&lt;/strong&gt; Render for the hosted frontend and backend.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Version control:&lt;/strong&gt; Git and GitHub.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  System architecture
&lt;/h3&gt;

&lt;p&gt;The frontend collects user preferences and sends a request to the backend. The backend coordinates mission generation, validates the result, and returns a structured quest. Local storage preserves progress and history, while the browser-side fallback provides an alternative when the backend is unavailable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvrpzevm34r77on4ktuvn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvrpzevm34r77on4ktuvn.png" alt="diagram1" width="800" height="1990"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The AI quest-generation pipeline
&lt;/h3&gt;

&lt;p&gt;The local AI implementation uses &lt;strong&gt;Gemma 3 1B through Ollama&lt;/strong&gt;. A lightweight orchestration flow separates the work into three responsibilities:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Planner Agent:&lt;/strong&gt; Organizes a quest around the user's preferences and available time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nature Activity Agent:&lt;/strong&gt; Produces concrete sensory activities and instructions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safety Validation:&lt;/strong&gt; Checks the generated content against deterministic application rules before it is presented.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The application uses structured JSON output, response repair, and bounded retries to handle malformed model responses. If generation cannot be completed reliably, a deterministic fallback keeps the experience usable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fq5q6bs5xi4whd9xcaxh1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fq5q6bs5xi4whd9xcaxh1.png" alt="diagram2" width="800" height="1714"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Local AI, hosted demo, and offline browser mode
&lt;/h3&gt;

&lt;p&gt;These are three distinct execution modes:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Local mode:&lt;/strong&gt; Ollama runs Gemma 3 1B on the user's machine. Inference does not require a paid cloud AI API, and the model can run without an internet connection once installed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hosted demo:&lt;/strong&gt; Render hosts the frontend and backend. The public demo uses the deterministic backend rule engine by default; visitors are not downloading or running Gemma model weights in their browsers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Browser offline mode:&lt;/strong&gt; When the backend is unreachable, the PWA can use its browser-side deterministic generator and locally saved data. This is separate from running Gemma locally.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fey9ebdgvmy2xinco4q06.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fey9ebdgvmy2xinco4q06.png" alt="diagram3" width="800" height="854"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Safety and reliability
&lt;/h3&gt;

&lt;p&gt;Generated content is treated as untrusted until it passes application-level validation. GreenQuest includes deterministic safeguards against:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Eating or tasting wild plants, mushrooms, berries, or unpurified water.&lt;/li&gt;
&lt;li&gt;Trespassing or entering restricted areas.&lt;/li&gt;
&lt;li&gt;Dangerous climbing or unsafe water crossings.&lt;/li&gt;
&lt;li&gt;Touching, chasing, or feeding wildlife.&lt;/li&gt;
&lt;li&gt;Activities that conflict with Leave-No-Trace principles.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The backend test suite has &lt;strong&gt;31 passing tests&lt;/strong&gt;, covering API behavior, schemas, safety rules, provider behavior, orchestration, and model-output repair. The frontend production build also passes, and API URL normalization has dedicated unit tests.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;Open innovation makes GreenQuest more accessible, inspectable, and adaptable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Local inference and user control&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Gemma 3 1B and Ollama give users a way to run the AI locally instead of sending every prompt to a proprietary cloud service. This offers greater control over data and a path toward reducing recurring inference costs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Freedom to experiment&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The provider abstraction makes it possible to inspect the orchestration and change the inference provider without rebuilding the entire application around one vendor.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Accessibility without mandatory paid APIs&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The deterministic fallback keeps the basic experience usable without a paid API key or a cloud GPU. The hosted demo can also operate without a hosted AI provider.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Transparent safety logic&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The safety rules are part of the source code. Developers can inspect them, test them, and propose improvements rather than relying entirely on an opaque model response.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. AI with a purpose beyond the screen&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The most important part of GreenQuest isn't generating more text. It's turning a simple intention—“I have 30 minutes and want a mindful break”—into a real-world activity.&lt;/p&gt;

&lt;p&gt;Open models let me experiment with this idea on ordinary hardware, while open-source code lets others learn from it, adapt it, and build on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;I used AI-assisted development to build and debug the application, improve structured-output handling, test safety behavior, and resolve deployment configuration issues.&lt;/p&gt;

&lt;p&gt;I don't have a verified public DevRelay session link to include here. If I publish one, I'll add it to this section.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;GreenQuest uses Gemma 3 1B locally through Ollama and is deployed on Render. I'll select the partner prize categories only after verifying their official eligibility requirements.&lt;/p&gt;




&lt;p&gt;GreenQuest is a reminder that AI doesn't always need to make us more productive, more connected, or more engaged with a screen.&lt;/p&gt;

&lt;p&gt;Sometimes, it can help us notice the world just outside the door.&lt;/p&gt;

&lt;p&gt;🌲 &lt;strong&gt;Explore less digitally. Experience more naturally.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
