<?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: tejas raj</title>
    <description>The latest articles on DEV Community by tejas raj (@rajtejasxyz).</description>
    <link>https://dev.to/rajtejasxyz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F99mvlsfu5tfj9m7ku25d.png</url>
      <title>DEV Community: tejas raj</title>
      <link>https://dev.to/rajtejasxyz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rajtejasxyz"/>
    <language>en</language>
    <item>
      <title>An Offline AI Scavenger Hunt to Touch Grass</title>
      <dc:creator>tejas raj</dc:creator>
      <pubDate>Sun, 11 Oct 2026 14:22:38 +0000</pubDate>
      <link>https://dev.to/rajtejasxyz/an-offline-ai-scavenger-hunt-to-touch-grass-ae8</link>
      <guid>https://dev.to/rajtejasxyz/an-offline-ai-scavenger-hunt-to-touch-grass-ae8</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;&lt;strong&gt;Outdoor Quest&lt;/strong&gt; is an offline-first Progressive Web App (PWA) designed to get developers out of their desk chairs and into the sunlight. It is a real-world, AI-powered scavenger hunt that runs entirely in your browser.&lt;/p&gt;

&lt;p&gt;Players are given a list of outdoor targets to find (like a "park bench," "bird," "bicycle," or "stop sign"). To prove they found it, they must point their phone's live camera at the object. The app uses an on-device object detection model to instantly draw a bounding box and verify the item, awarding points completely offline. &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%2Fx53ya4hyitg3ohlvhif4.jpg" 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%2Fx53ya4hyitg3ohlvhif4.jpg" alt="Outdoor Quest app detecting a bench in a forest" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To make it truly "Touch Grass" ready, I implemented a &lt;strong&gt;Live-Camera Anti-Cheat&lt;/strong&gt; system (preventing users from uploading downloaded photos) and designed a &lt;strong&gt;Rugged Tactile UI&lt;/strong&gt; featuring high-contrast, oversized elements that remain highly readable under direct, harsh sunlight.&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://hacktober-fest-week-2-7n52.onrender.com" rel="noopener noreferrer"&gt;Play Outdoor Quest Here&lt;/a&gt;&lt;br&gt;
&lt;em&gt;(Note: Please open this on a mobile device and install it to your home screen for the full offline PWA experience!)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;🎥 &lt;strong&gt;Video Walkthrough:&lt;/strong&gt; &lt;a href="https://go.screenpal.com/watch/cO6X2nnxSQn" rel="noopener noreferrer"&gt;Watch the Demo on ScreenPal&lt;/a&gt;&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/Tejas-Raj01" rel="noopener noreferrer"&gt;
        Tejas-Raj01
      &lt;/a&gt; / &lt;a href="https://github.com/Tejas-Raj01/hacktober-fest-week-2-" rel="noopener noreferrer"&gt;
        hacktober-fest-week-2-
      &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;🌲 Outdoor Quest — Rust &amp;amp; TypeScript Terminal Game&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;A real-time multiplayer outdoor quest game built with &lt;strong&gt;Rust&lt;/strong&gt; (Backend WebSocket Server) and &lt;strong&gt;TypeScript&lt;/strong&gt; (Interactive Terminal Client).&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🎯 Game Features &amp;amp; Rules&lt;/h2&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Simple Room Code Sharing&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Host starts a game and gets a &lt;strong&gt;Room Code&lt;/strong&gt; (e.g. &lt;code&gt;QUEST-4921&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Friends join by simply entering the &lt;strong&gt;Room Code&lt;/strong&gt; from their terminal. No need to type or know any server URLs!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;5 Fixed Outdoor Tasks&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🌲 &lt;strong&gt;Task 1: Leaf &amp;amp; Bark Challenge&lt;/strong&gt; — Step outside! Touch a natural green leaf or tree bark and submit photo proof.&lt;/li&gt;
&lt;li&gt;🪨 &lt;strong&gt;Task 2: Unique Stone Quest&lt;/strong&gt; — Look down! Touch a smooth or unique outdoor rock/stone and submit photo proof.&lt;/li&gt;
&lt;li&gt;☁️ &lt;strong&gt;Task 3: Sky &amp;amp; Cloud Spotting&lt;/strong&gt; — Look up! Snap a photo of a cloud, bird, or flying plane in the open sky.&lt;/li&gt;
&lt;li&gt;🚶 &lt;strong&gt;Task 4: 30-Step Color Hunt&lt;/strong&gt; — Walk 30 steps outdoors…&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Tejas-Raj01/hacktober-fest-week-2-" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


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

&lt;p&gt;This project relies on a hybrid architecture bridging edge AI and a robust backend:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Edge AI Vision (Transformers.js):&lt;/strong&gt; The core offline vision experience uses the &lt;code&gt;Xenova/detr-resnet-50&lt;/code&gt; open-weight model directly in the browser to map live video frames from &lt;code&gt;getUserMedia&lt;/code&gt; against the COCO dataset entirely on-device.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Edge AI Logic (Gemma via WebGPU):&lt;/strong&gt; To handle offline game logic and interactions, I integrated &lt;strong&gt;Gemma 3n 2B via WebGPU&lt;/strong&gt;, providing a fully localized LLM experience without network calls.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;AI Pair Programming:&lt;/strong&gt; I utilized &lt;strong&gt;GitHub Copilot&lt;/strong&gt; extensively throughout the project to accelerate writing the Rust backend boilerplate and constructing the strict React state machine for the UI.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Unified Deployment (Render):&lt;/strong&gt; Both the Vite PWA frontend and the Rust backend are hosted on &lt;strong&gt;Render&lt;/strong&gt;. I chose Render because it seamlessly handles the static site hosting for the React frontend while simultaneously providing native, low-latency WebSocket support required for the Rust multiplayer state machine, keeping the entire infrastructure under one roof.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Database (MongoDB Atlas):&lt;/strong&gt; Game state and player scores are securely persisted using MongoDB Atlas, which connects smoothly to the Render deployment.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;For an app meant to be played in parks and on hiking trails, relying on a closed API (like OpenAI Vision) is a critical point of failure. Deep in the woods, cellular service is notoriously unreliable. &lt;/p&gt;

&lt;p&gt;Open-source AI and open-weight models allowed me to compile a highly accurate ResNet-50 object detection model into WebAssembly and run Gemma 3n 2B via WebGPU. Because of this open innovation, the AI runs entirely on the player's local hardware at zero latency and zero cost per inference. It completely eliminates the need for an internet connection to validate quests, making true outdoor exploration possible.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Best Use of Open-Source / Open-Weight Models:&lt;/strong&gt; Successfully running both &lt;code&gt;detr-resnet-50&lt;/code&gt; for real-time object detection and Gemma 3n 2B for logic entirely client-side via WebGPU and WebAssembly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Best Use of GitHub Copilot:&lt;/strong&gt; Leveraged Copilot to rapidly architect a fault-tolerant Rust WebSocket backend and state-gated React components.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Best Cloud Deployment (Render):&lt;/strong&gt; Utilized Render's unified ecosystem to deploy a seamless full-stack application, pairing a static edge PWA with a high-performance Rust WebSocket server.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Best Use of MongoDB Atlas:&lt;/strong&gt; The backend utilizes MongoDB Atlas to securely manage multiplayer game rooms and player scores, configured dynamically to accept connections from the Render environment.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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