<?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: Gourav Chhatwani</title>
    <description>The latest articles on DEV Community by Gourav Chhatwani (@gaming_andtechgt_c3dde2).</description>
    <link>https://dev.to/gaming_andtechgt_c3dde2</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4173658%2Ff8298cda-e437-4b02-b71b-397122c274a6.webp</url>
      <title>DEV Community: Gourav Chhatwani</title>
      <link>https://dev.to/gaming_andtechgt_c3dde2</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gaming_andtechgt_c3dde2"/>
    <language>en</language>
    <item>
      <title>🌿 Walk &amp; Notice — AI That Gets You Off the Screen</title>
      <dc:creator>Gourav Chhatwani</dc:creator>
      <pubDate>Sat, 10 Oct 2026 13:35:19 +0000</pubDate>
      <link>https://dev.to/gaming_andtechgt_c3dde2/walk-notice-ai-that-gets-you-off-the-screen-5hdf</link>
      <guid>https://dev.to/gaming_andtechgt_c3dde2/walk-notice-ai-that-gets-you-off-the-screen-5hdf</guid>
      <description>&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;h3&gt;
  
  
  🌿 Walk &amp;amp; Notice
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;AI should help you leave the screen — not keep you on it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For Hacktoberfest Week 1, I built &lt;strong&gt;Walk &amp;amp; Notice&lt;/strong&gt;, an AI-powered outdoor observation mission generator built around one simple idea:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The AI interaction should end when the real-world experience begins.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of creating another chatbot that encourages people to spend more time on their phones, Walk &amp;amp; Notice uses AI to create a short, personalized outdoor mission — and then tells the user to put the phone away.&lt;/p&gt;

&lt;p&gt;The project has a &lt;strong&gt;proper Streamlit frontend&lt;/strong&gt; where users configure the experience before generating their mission.&lt;/p&gt;

&lt;p&gt;The interface lets users choose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🤖 AI provider&lt;/li&gt;
&lt;li&gt;⏱️ Available time&lt;/li&gt;
&lt;li&gt;🌳 Outdoor environment&lt;/li&gt;
&lt;li&gt;🔎 What they want to notice&lt;/li&gt;
&lt;li&gt;⚡ Energy level&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The application turns those choices into a short four-step observation mission.&lt;/p&gt;

&lt;p&gt;Every mission ends with:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Now put your phone away.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The idea is intentionally simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Generate it. Read it. Go outside. Notice something.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The screen is supposed to be the shortest part of the experience.&lt;/p&gt;




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

&lt;h3&gt;
  
  
  ▶️ Quick Video Preview
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://youtu.be/4_qidfn2heQ" rel="noopener noreferrer"&gt;Watch the full 3-minute demo on YouTube&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Live Production App
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://walk-and-notice-latest.onrender.com/" rel="noopener noreferrer"&gt;Open Walk &amp;amp; Notice on Render&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🌐 Streamlit Demo
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://walk-and-notice.streamlit.app/" rel="noopener noreferrer"&gt;Open the Streamlit application&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎥 High-Quality Demo Download
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/GouravGC/Hacktoberfest_2026_01_Walk_and_Notice/blob/main/evidence/demo/demo_video.mp4" rel="noopener noreferrer"&gt;Download the original high-quality demo from GitHub&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;GitHub may not preview the video directly because of its file size. The original high-quality video is available for download.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  🔄 Alternative Video Download
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.jioaicloud.com/l/?u=bdo30L1Rac9G26jDFEZgAipGAYiVwZi7DOXKI894om_LIIAgBjya8s7y2Kkl8R0pb3F" rel="noopener noreferrer"&gt;Download the demo from JioCloud&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Alternative download option if the GitHub file is inconvenient to access.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  📸 Evidence
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/GouravGC/Hacktoberfest_2026_01_Walk_and_Notice/tree/main/evidence" rel="noopener noreferrer"&gt;View screenshots and supporting evidence&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




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

&lt;h3&gt;
  
  
  💻 GitHub Repository
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/GouravGC/Hacktoberfest_2026_01_Walk_and_Notice" rel="noopener noreferrer"&gt;View Walk &amp;amp; Notice on GitHub&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the complete implementation, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Streamlit frontend&lt;/li&gt;
&lt;li&gt;AI provider abstraction&lt;/li&gt;
&lt;li&gt;Gemma 4 E4B + Ollama integration&lt;/li&gt;
&lt;li&gt;OpenRouter integration&lt;/li&gt;
&lt;li&gt;Prompt engineering&lt;/li&gt;
&lt;li&gt;Automated tests&lt;/li&gt;
&lt;li&gt;Docker configuration&lt;/li&gt;
&lt;li&gt;GitHub Actions CI/CD&lt;/li&gt;
&lt;li&gt;GitHub Container Registry publishing&lt;/li&gt;
&lt;li&gt;Render deployment&lt;/li&gt;
&lt;li&gt;Documentation&lt;/li&gt;
&lt;li&gt;Demo and supporting evidence&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;I wanted the AI to be part of the solution without making the AI interaction itself the main experience.&lt;/p&gt;

&lt;p&gt;The project therefore has two AI inference paths: a &lt;strong&gt;local open-weight path for development&lt;/strong&gt; and a &lt;strong&gt;production path through OpenRouter&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  🦙 Local AI — Gemma 4 E4B + Ollama
&lt;/h3&gt;

&lt;p&gt;During development, I run &lt;strong&gt;Gemma 4 E4B locally through Ollama&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The local architecture is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Streamlit
    ↓
Python
    ↓
Ollama
    ↓
Gemma 4 E4B
    ↓
Outdoor Mission
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This allows the application to generate missions locally using an open-weight model.&lt;/p&gt;

&lt;p&gt;The local model runs on my RTX 3060, allowing me to develop and test the core AI experience without requiring a hosted AI API.&lt;/p&gt;

&lt;h3&gt;
  
  
  ☁️ Production AI — OpenRouter
&lt;/h3&gt;

&lt;p&gt;For the public deployment, I added a second provider using OpenRouter with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;openai/gpt-oss-20b
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The application keeps the AI provider behind the same Python interface, allowing the frontend and mission-generation logic to work with different inference providers.&lt;/p&gt;

&lt;p&gt;The overall application flow is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                     Streamlit Frontend
                           │
              ┌────────────┴────────────┐
              ↓                         ↓
       Local AI Provider        Production Provider
              ↓                         ↓
       Gemma 4 E4B                 OpenRouter
              ↓                         ↓
           Ollama                  GPT-OSS-20B
              └────────────┬────────────┘
                           ↓
                  Personalized Mission
                           ↓
                  "Put your phone away."
                           ↓
                         🌳 Outdoors
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🎨 Streamlit Frontend
&lt;/h3&gt;

&lt;p&gt;Rather than asking users to interact directly with an LLM, I built a proper Streamlit frontend around the model.&lt;/p&gt;

&lt;p&gt;The interface collects structured preferences and passes them to the mission generator.&lt;/p&gt;

&lt;p&gt;This turns the project from a raw model experiment into a small usable application.&lt;/p&gt;

&lt;p&gt;The frontend controls the experience.&lt;/p&gt;

&lt;p&gt;The model handles the generation.&lt;/p&gt;

&lt;p&gt;And then the user leaves the screen.&lt;/p&gt;

&lt;h3&gt;
  
  
  🧠 Prompt Engineering
&lt;/h3&gt;

&lt;p&gt;The mission generator is intentionally constrained.&lt;/p&gt;

&lt;p&gt;The model is instructed to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generate exactly four numbered steps&lt;/li&gt;
&lt;li&gt;Keep each step short&lt;/li&gt;
&lt;li&gt;Match the user's selected preferences&lt;/li&gt;
&lt;li&gt;Create safe outdoor activities&lt;/li&gt;
&lt;li&gt;Require no special equipment&lt;/li&gt;
&lt;li&gt;Avoid interacting with wildlife&lt;/li&gt;
&lt;li&gt;Avoid traffic and dangerous locations&lt;/li&gt;
&lt;li&gt;Avoid requiring a phone, camera, or recording&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The final instruction is always:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Now put your phone away.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The goal isn't to generate a long AI response.&lt;/p&gt;

&lt;p&gt;The goal is to generate something useful enough to read quickly and then act on in the real world.&lt;/p&gt;

&lt;h3&gt;
  
  
  🛡️ Safety by Design
&lt;/h3&gt;

&lt;p&gt;Because Walk &amp;amp; Notice encourages people to go outdoors, safety is built into the generation instructions.&lt;/p&gt;

&lt;p&gt;The model is explicitly prevented from creating missions involving things such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Traffic&lt;/li&gt;
&lt;li&gt;Approaching wildlife&lt;/li&gt;
&lt;li&gt;Dangerous climbing&lt;/li&gt;
&lt;li&gt;Dangerous objects&lt;/li&gt;
&lt;li&gt;Unsafe locations&lt;/li&gt;
&lt;li&gt;Required equipment&lt;/li&gt;
&lt;li&gt;Recording or photographing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The activities are designed around observation rather than risky physical challenges.&lt;/p&gt;

&lt;h3&gt;
  
  
  🧪 Automated Testing
&lt;/h3&gt;

&lt;p&gt;I added automated tests for both AI provider paths:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Ollama generation
OpenRouter generation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The local test suite currently passes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;2 passed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These tests are also executed automatically through GitHub Actions before the production image is built.&lt;/p&gt;

&lt;h3&gt;
  
  
  🐳 Docker
&lt;/h3&gt;

&lt;p&gt;The application is containerized with Docker.&lt;/p&gt;

&lt;p&gt;The production image is published to GitHub Container Registry:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ghcr.io/gouravgc/walk-and-notice:latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This provides a reproducible production artifact that can be deployed without manually configuring the application environment.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⚙️ GitHub Actions CI/CD
&lt;/h3&gt;

&lt;p&gt;I built an automated GitHub Actions pipeline for testing and container delivery.&lt;/p&gt;

&lt;p&gt;The workflow is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GitHub Push
     ↓
Run pytest
     ↓
Build Docker Image
     ↓
Push Image to GHCR
     ↓
Render
     ↓
Production Application
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/GouravGC/Hacktoberfest_2026_01_Walk_and_Notice/actions/runs/37967290589" rel="noopener noreferrer"&gt;View the successful GitHub Actions workflow&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This means a code change can move through testing and container publishing automatically instead of requiring a manual Docker build and registry push.&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Render Deployment
&lt;/h3&gt;

&lt;p&gt;The production application runs on Render using the Docker image published to GHCR.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://walk-and-notice-latest.onrender.com/" rel="noopener noreferrer"&gt;Open the production application&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This takes Walk &amp;amp; Notice beyond a local prototype and gives the project a publicly accessible production deployment.&lt;/p&gt;




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

&lt;p&gt;Open innovation matters to Walk &amp;amp; Notice because &lt;strong&gt;the AI itself is part of the project's philosophy&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The application was built around an open-weight model that can run locally.&lt;/p&gt;

&lt;p&gt;With Gemma 4 E4B and Ollama, I can run the AI on my own hardware, experiment with prompts, change the model configuration, and develop the application without making a proprietary hosted API the only way the system can work.&lt;/p&gt;

&lt;p&gt;That is particularly relevant to this project.&lt;/p&gt;

&lt;p&gt;Walk &amp;amp; Notice is designed to reduce unnecessary screen time.&lt;/p&gt;

&lt;p&gt;A local inference path means the core mission-generation experience can work without sending every development interaction to a remote AI provider.&lt;/p&gt;

&lt;p&gt;It also gives me more control over experimentation.&lt;/p&gt;

&lt;p&gt;I can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run the model locally&lt;/li&gt;
&lt;li&gt;Modify the prompts&lt;/li&gt;
&lt;li&gt;Experiment with the model&lt;/li&gt;
&lt;li&gt;Change the application's behavior&lt;/li&gt;
&lt;li&gt;Keep the core AI workflow under my control&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The production deployment adds an OpenRouter path for public access, but the application architecture still keeps local open-weight inference as a first-class option.&lt;/p&gt;

&lt;p&gt;For me, that is where open innovation fits this project best:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The AI can be experimented with locally, while the experience itself is designed to get the user away from the screen.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




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

&lt;p&gt;I am entering the following partner categories:&lt;/p&gt;

&lt;h3&gt;
  
  
  🟢 Best Use of Gemma
&lt;/h3&gt;

&lt;p&gt;Walk &amp;amp; Notice uses &lt;strong&gt;Gemma 4 E4B locally through Ollama&lt;/strong&gt; as one of its AI providers.&lt;/p&gt;

&lt;p&gt;Gemma is directly responsible for generating the personalized outdoor observation missions.&lt;/p&gt;

&lt;h3&gt;
  
  
  🟠 Best Use of Render
&lt;/h3&gt;

&lt;p&gt;The production version of Walk &amp;amp; Notice is deployed on &lt;strong&gt;Render&lt;/strong&gt; using the Docker image published to GitHub Container Registry.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://walk-and-notice-latest.onrender.com/" rel="noopener noreferrer"&gt;Open the production application&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🟣 Best Use of GitHub Copilot
&lt;/h3&gt;

&lt;p&gt;Walk &amp;amp; Notice uses &lt;strong&gt;GitHub Actions&lt;/strong&gt; to automate its software delivery workflow.&lt;/p&gt;

&lt;p&gt;The pipeline automatically runs tests, builds the Docker image, and publishes the production image to GHCR.&lt;/p&gt;

&lt;p&gt;This uses the GitHub Actions automation route explicitly listed in the challenge's &lt;strong&gt;Best Use of GitHub Copilot&lt;/strong&gt; category.&lt;/p&gt;




&lt;h2&gt;
  
  
  🌍 The Idea Behind Walk &amp;amp; Notice
&lt;/h2&gt;

&lt;p&gt;The easiest thing for an AI application to do is give us another reason to stay online.&lt;/p&gt;

&lt;p&gt;I wanted to build something different.&lt;/p&gt;

&lt;p&gt;Walk &amp;amp; Notice uses AI to create the starting point for a real-world experience — and then gets out of the way.&lt;/p&gt;

&lt;p&gt;The AI generates the mission.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You do the walking.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You do the noticing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The real world does the rest.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🌿&lt;/p&gt;

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