<?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: Bmartin2000</title>
    <description>The latest articles on DEV Community by Bmartin2000 (@bmartin2000).</description>
    <link>https://dev.to/bmartin2000</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%2F4175744%2F0c1ef84c-8699-4f4b-ac1b-3d389902760b.png</url>
      <title>DEV Community: Bmartin2000</title>
      <link>https://dev.to/bmartin2000</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bmartin2000"/>
    <language>en</language>
    <item>
      <title>AFK.exe: Grow a Living Office by Stepping Outside with Local AI</title>
      <dc:creator>Bmartin2000</dc:creator>
      <pubDate>Sun, 11 Oct 2026 16:33:51 +0000</pubDate>
      <link>https://dev.to/bmartin2000/afkexe-grow-a-living-office-by-stepping-outside-with-local-ai-1eod</link>
      <guid>https://dev.to/bmartin2000/afkexe-grow-a-living-office-by-stepping-outside-with-local-ai-1eod</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;p&gt;I built &lt;strong&gt;AFK.exe&lt;/strong&gt;, a cozy developer game where your workspace grows when you step away.&lt;/p&gt;

&lt;p&gt;You begin in a small 3D office. Sit at the desk, open the monitor, and work through short coding contracts. Your tiny plant-headed companion, &lt;strong&gt;Inez&lt;/strong&gt;, keeps you company. Fix a bug, run its tests, and earn money, experience, and skill practice.&lt;/p&gt;

&lt;p&gt;But completing contracts uses energy. Going outside restores it and earns fresh-air tokens, the currency for plants. A plain office gradually becomes a green workspace with vines, warm lighting, better equipment, and a second monitor.&lt;/p&gt;

&lt;p&gt;The loop is simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code → take a walk → notice something in nature → bring life back to your office.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The phone view asks you to start a walk, pocket the phone, and briefly return when a nature-photo mission appears. A normal qualifying walk needs &lt;strong&gt;10 minutes and at least 150 metres from the starting point&lt;/strong&gt;. Walking itself earns rewards; the optional photo mission adds a reason to notice your surroundings.&lt;/p&gt;

&lt;p&gt;AFK.exe is for developers and learners who enjoy progression games and could use a more inviting reason to take a break. Five skills—Debugging, TypeScript, Testing, Performance, and Async—lead through ten career titles and continuing mastery. Career milestones unlock developer workflows for your own code, so the rewards extend beyond decorating a room.&lt;/p&gt;

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

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/Y_kr_XDbQHI" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://bmartin2000.github.io/Gooutdoors/" rel="noopener noreferrer"&gt;Play the browser demo&lt;/a&gt; · &lt;a href="https://youtu.be/Y_kr_XDbQHI" rel="noopener noreferrer"&gt;Watch on YouTube&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The video shows a coding fix passing its tests, payment and skill rewards, an outdoor mission submission, office upgrades, and progression to Distinguished Engineer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Demo transparency:&lt;/strong&gt; the career tour uses labelled admin acceleration. The outdoor sequence uses a sample image and admin approval; it is not a demonstration of a real GPS-qualified outing or a successful local-model photo check. The developer-tool screens show the available workflows, not AI results generated during this recording.&lt;/p&gt;

&lt;p&gt;The hosted browser build lets you explore the game and phone experience. &lt;strong&gt;Local AI requires the repository version running on your computer with Ollama.&lt;/strong&gt; GitHub Pages does not host the model.&lt;/p&gt;

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


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Bmartin2000" rel="noopener noreferrer"&gt;
        Bmartin2000
      &lt;/a&gt; / &lt;a href="https://github.com/Bmartin2000/Gooutdoors" rel="noopener noreferrer"&gt;
        Gooutdoors
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;AFK.exe&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Code. Explore. Upgrade.&lt;/strong&gt; · &lt;em&gt;Your workspace grows when you step away.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;You sit at a desk in a small 3D office, and the whole game runs on the computer in front of you. Playable contracts refill immediately; extra offers arrive every two minutes by default. You take the ones you're qualified for, ship the fix and get paid. Every job uses up energy, and the only way to fill it back up is to &lt;strong&gt;go outside&lt;/strong&gt;. Your phone measures the walk with GPS, offline, and buzzes when a photo mission appears. When you get back, an &lt;strong&gt;open-weight AI running on your own computer&lt;/strong&gt; (Qwen3.5 4B through Ollama) checks the photo. Fresh air buys the plants that make your office come alive.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Built for the &lt;strong&gt;Hacktoberfest 2026 Open-Source AI Challenge: Week 1, "Touch Grass."&lt;/strong&gt;
No account. No cloud. No API key. Photos, code and location never leave your devices.&lt;/p&gt;
&lt;/blockquote&gt;…&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Bmartin2000/Gooutdoors" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The project is &lt;strong&gt;MIT-licensed&lt;/strong&gt;. The repository includes the game, phone PWA, local Ollama adapter, tests, setup instructions, and &lt;a href="https://github.com/bmartin2000/Gooutdoors/blob/main/ATTRIBUTIONS.md" rel="noopener noreferrer"&gt;third-party attributions&lt;/a&gt;.&lt;/p&gt;

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

&lt;p&gt;The interface uses &lt;strong&gt;React, TypeScript, and Vite&lt;/strong&gt;. The office is built with procedural &lt;strong&gt;Three.js geometry through React Three Fiber&lt;/strong&gt;. Game progress, walk records, and photo evidence are stored in &lt;strong&gt;IndexedDB&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The open AI component is &lt;strong&gt;Qwen3.5 4B&lt;/strong&gt;, an open-weight multimodal model, served locally through &lt;strong&gt;Ollama&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It has two roles:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Nature-photo checking.&lt;/strong&gt; Back at the desk, the model examines a downscaled photo against the selected mission's visual criteria. It returns structured JSON containing a match decision, estimated confidence, a reason, and a review flag. Zod validates the response. Uncertain results hold the bonus reward instead of silently granting it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Developer tools.&lt;/strong&gt; Level 2 unlocks an AI Debugger, level 4 a Code Optimizer, and level 6 a Test Generator. These are different workflows over the same local model. Generated suggestions are displayed as text and are never executed automatically.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I kept other checks deterministic. Coding contracts run authored test fixtures. Walk qualification uses GPS calculations on the phone. Neither relies on a language model to decide whether a test passed or a walk met its thresholds.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Phone: GPS + mission photo + local storage
                     |
           LAN transfer or outing file
                     |
Desk: React game + IndexedDB
                     |
        local, loopback-only adapter
                     |
          Ollama → Qwen3.5 4B
                     |
       validated result → bonus reward
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The phone-to-desk transfer carries a walk summary and re-encoded photos, rather than the GPS coordinate history. Reward grants use a transaction so importing the same outing again does not repeatedly pay out.&lt;/p&gt;

&lt;p&gt;To run the full version:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/bmartin2000/Gooutdoors.git
&lt;span class="nb"&gt;cd &lt;/span&gt;Gooutdoors
npm &lt;span class="nb"&gt;install
&lt;/span&gt;ollama pull qwen3.5:4b
npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ollama must be running; use &lt;code&gt;ollama serve&lt;/code&gt; if needed. The README also covers the installed phone PWA, local HTTPS, LAN pairing, and file transfer.&lt;/p&gt;

&lt;p&gt;The practical trade-off is device capability. Model downloads and initial setup need internet access, inference uses local compute, and browsers can pause GPS with the screen off. Pocket mode keeps a minimal screen awake where supported. The app also makes clear that photo matching is a plausibility check, not proof of where or when a photo was taken.&lt;/p&gt;

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

&lt;p&gt;For AFK.exe, local open-weight AI makes the outdoor loop possible without turning a walk into a cloud-upload workflow.&lt;/p&gt;

&lt;p&gt;After setup, a player can track a walk and save a mission photo without mobile data. The photo can be checked later on the player's own computer. Their submitted code and mission images do not need to go to an external inference service.&lt;/p&gt;

&lt;p&gt;Open code also makes the reward rules inspectable. Someone can read the prompts, review the uncertainty threshold, add a nature mission, or adapt the local-model integration. There is no inference API key or per-request provider bill, although running the model still requires suitable hardware and electricity.&lt;/p&gt;

&lt;p&gt;A cloud API could perform image analysis, but it would add a network dependency and third-party data transfer to this particular design. Keeping inference local lets a player bring the experience home on their own terms.&lt;/p&gt;

&lt;p&gt;The idea I want to preserve is simple: &lt;strong&gt;the most valuable thing the app asks you to do happens outside the app.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;I used &lt;strong&gt;Codex&lt;/strong&gt; to help implement, debug, and refine the project. The iteration included faster contract replenishment, clearer skill-training requirements and rewards, mobile navigation back from a walk, an office-first opening, and a camera transition that completes consistently on slower devices.&lt;/p&gt;

&lt;p&gt;The implementation is visible in the &lt;a href="https://github.com/bmartin2000/Gooutdoors/commits/main/" rel="noopener noreferrer"&gt;commit history&lt;/a&gt;. I have not attached a saved agent-session transcript to this draft.&lt;/p&gt;

&lt;p&gt;The demo was produced with Higgsfield, English female narration through Seed Audio, and an original electronic instrumental. This post was drafted with AI assistance and is being reviewed before publication.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Best Use of GitHub Copilot — GitHub Actions automation.&lt;/strong&gt; The &lt;a href="https://github.com/bmartin2000/Gooutdoors/blob/main/.github/workflows/pages.yml" rel="noopener noreferrer"&gt;deployment workflow&lt;/a&gt; installs dependencies, runs the tests, builds the static app, and deploys it to GitHub Pages when &lt;code&gt;main&lt;/code&gt; changes. The challenge lists GitHub Actions project automation as a qualifying use for this category; this entry does not claim that Copilot authored the game.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related Community Reading
&lt;/h2&gt;

&lt;p&gt;While preparing this write-up, I read &lt;a href="https://dev.to/sanskarcodes/building-local-first-ai-apps-what-changes-when-the-data-stays-on-the-device-15mi"&gt;Sanskar's &lt;em&gt;Building Local-First AI Apps: What Changes When the Data Stays on the Device&lt;/em&gt;&lt;/a&gt; and &lt;a href="https://dev.to/arun2232/lookout-the-offline-ai-field-companion-that-tells-you-to-put-your-phone-away-26na"&gt;Arun Mahajan's &lt;em&gt;Lookout: The Offline AI Field Companion That Tells You to Put Your Phone Away&lt;/em&gt;&lt;/a&gt;. They offer related perspectives on keeping useful work local and letting an outdoor app have a stopping point. They are contextual reading, rather than code dependencies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code. Explore. Upgrade.&lt;/strong&gt;&lt;/p&gt;

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