<?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: Aditya Arora</title>
    <description>The latest articles on DEV Community by Aditya Arora (@aditya_arora).</description>
    <link>https://dev.to/aditya_arora</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%2F4173593%2F0764bb69-6bff-4043-9d84-dde7409e2f24.jpg</url>
      <title>DEV Community: Aditya Arora</title>
      <link>https://dev.to/aditya_arora</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aditya_arora"/>
    <language>en</language>
    <item>
      <title>Outside, briefly: a tiny offline AI coach for getting off the screen</title>
      <dc:creator>Aditya Arora</dc:creator>
      <pubDate>Sat, 10 Oct 2026 14:01:18 +0000</pubDate>
      <link>https://dev.to/aditya_arora/outside-briefly-a-tiny-offline-ai-coach-for-getting-off-the-screen-3gh0</link>
      <guid>https://dev.to/aditya_arora/outside-briefly-a-tiny-offline-ai-coach-for-getting-off-the-screen-3gh0</guid>
      <description>&lt;p&gt;What I Built&lt;br&gt;
I built Outside, briefly, a small outdoor activity planner. You describe your mood in a sentence, choose how much time you have, and get a short mission that sends you outside. The goal is for the screen to be the shortest part of the experience.&lt;/p&gt;

&lt;p&gt;I noticed a problem with many wellness apps: even when they encourage a walk, they ask you to keep checking the phone. I wanted the planning step to end quickly. The result gives you a handful of concrete steps and a question to think about when you return. You can print or save the mission card and leave the browser behind.&lt;/p&gt;

&lt;p&gt;It offers four kinds of mission: noticing nature, moving, caring for a place, and connecting with someone. There is an accessible or seated option.&lt;/p&gt;

&lt;p&gt;Demo&lt;br&gt;
Try the live demo. Type “I want a peaceful walk with birds and trees” to see a noticing mission.&lt;/p&gt;

&lt;p&gt;Another example: “I want to water plants in my garden” produces a care mission. The result shows which words influenced the model, so the recommendation is not a mysterious instruction.&lt;/p&gt;

&lt;p&gt;Code&lt;br&gt;
View the MIT-licensed source code.&lt;/p&gt;

&lt;p&gt;How I Built It&lt;br&gt;
The AI core is a transparent, locally trained multinomial Naive Bayes classifier. Forty labeled example phrases in model.js teach it the four outing types. The model turns input into word tokens, counts how often each token appears in the example phrases, applies Laplace smoothing, and estimates which outing type best fits the sentence. The interface shows matched words so its decision is inspectable. The result is assembled from short mission steps, adjusted for time and accessibility. This is intentionally a small classifier, not a language model.&lt;/p&gt;

&lt;p&gt;For instance, words such as “birds,” “trees,” and “listen” point toward notice; “water,” “plants,” and “garden” point toward care. The model is the core decision-maker. Mission steps are written by a human so they remain short, practical, and bounded. If the sentence is vague, the app still makes a best guess and lets you try again.&lt;/p&gt;

&lt;p&gt;Your sentence&lt;br&gt;
Local word tokenizer&lt;br&gt;
Open Naive Bayes model&lt;br&gt;
Mission type&lt;br&gt;
Time and accessadjustments&lt;br&gt;
Short mission card&lt;br&gt;
The app is plain HTML, CSS, and JavaScript with no build step or API key. A service worker caches its files after the first visit, allowing the same flow to work offline. There is no geolocation request, analytics call, or account. The initial visit still needs a connection so the browser can download the files; I did not want to imply otherwise.&lt;/p&gt;

&lt;p&gt;Why Does Open Innovation Matter?&lt;br&gt;
The model, training examples, and mission rules are all in the public code. Anyone can see what it learned, improve examples for their own community, or replace the classifier without depending on a hosted AI service. The small local model also lets people plan an outing without sending personal text or location to a server. It works without a signal after the first visit.&lt;/p&gt;

&lt;p&gt;There is a tradeoff: 40 example phrases do not cover every way someone describes a mood, and the model cannot know local weather, route safety, or accessibility of a particular path. I chose to keep the app small and honest about those limits. Contributors can add phrases, translate the examples, or replace the classifier while keeping the same simple interface. That openness matters more here than producing an elaborate but opaque recommendation.&lt;/p&gt;

&lt;p&gt;What Happened Outdoors&lt;br&gt;
I tested all four model intents and the 10-minute accessible mission in automated tests. I also used the live site in Chrome with a gardening prompt and confirmed that it produced the care mission. I have not yet taken a mission outside, so I cannot claim an outdoor field test. That is the next meaningful test: whether the instructions are useful once the screen is away.&lt;/p&gt;

&lt;p&gt;Prize Categories&lt;br&gt;
Overall challenge only. No partner technology is claimed.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>opensource</category>
      <category>ai</category>
    </item>
    <item>
      <title>TrailWing: An Offline Bird Call Identifier That Works Where Your Signal Doesn't</title>
      <dc:creator>Aditya Arora</dc:creator>
      <pubDate>Sat, 10 Oct 2026 08:05:04 +0000</pubDate>
      <link>https://dev.to/aditya_arora/trailwing-an-offline-bird-call-identifier-that-works-where-your-signal-doesnt-fi2</link>
      <guid>https://dev.to/aditya_arora/trailwing-an-offline-bird-call-identifier-that-works-where-your-signal-doesnt-fi2</guid>
      <description>&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Problem statement:&lt;/strong&gt; &lt;em&gt;"A bird call identifier that works on the trail with no signal."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;TrailWing is an open-source, offline-first birding companion. You pick a trail or park before you leave home, and the app downloads a small "trail pack": the bird species likely to be around this week, plus the local weather forecast. After that, you put your phone in your pocket and walk.&lt;/p&gt;

&lt;p&gt;When you hear a bird, you press one button, hold your phone up for about ten seconds, and put it away again. A local open-weight model listens to the clip, compares it against the species expected in your trail pack, and gives you a short answer such as "Probably a Black-capped Chickadee, 82% confident," with one line on how to confirm it by sight. Your lifelist grows with every confirmed bird. The screen is used for a few seconds at a time, and the rest of the walk is spent looking up at the trees.&lt;/p&gt;

&lt;p&gt;To keep people outside, TrailWing adds light "field quests" such as "find three different songs before the next trail marker" or "spot a bird that's feeding, not singing." Quests are completed by actually looking and listening, not by scrolling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who it's for:&lt;/strong&gt; Beginner and intermediate birders, hikers, and families who want to learn the birds around them without needing cell service or handing a recording of their location to a server.&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;Deployed Application Link: &lt;em&gt;(add your Render URL here)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Video Walkthrough: &lt;em&gt;(add your demo video link here)&lt;/em&gt;
&lt;em&gt;(Embed screenshots or a GIF here: the trail pack download screen, the one-tap listen button, and the result card with the confidence score.)&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;&lt;em&gt;(Embed your repository here using the DEV GitHub embed tag.)&lt;/em&gt;&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Open-Source AI Framework:&lt;/strong&gt; The identifier runs on &lt;strong&gt;Gemma 3n&lt;/strong&gt;, an open-weight model that accepts audio input and is small enough to run on a phone or laptop. Each ~10 second clip is passed to Gemma along with the shortlist of species from the trail pack. Narrowing the candidates to what is realistic for that place and week keeps answers more accurate and keeps the on-device model fast. Gemma also writes the plain-language "how to confirm it" tip. &lt;strong&gt;MediaPipe&lt;/strong&gt; handles the hands-free interaction: a simple raised-hand gesture starts a recording, so you don't have to fumble with the screen while holding binoculars.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend Architecture:&lt;/strong&gt; A progressive web app built with React and the Web Audio API. A service worker caches the app shell, the trail pack, and the model assets, so everything works in airplane mode. The lifelist is saved locally in IndexedDB.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend &amp;amp; Hosting:&lt;/strong&gt; A small API deployed on &lt;strong&gt;Render&lt;/strong&gt; builds trail packs. It takes a trail's coordinates, assembles the seasonal species shortlist, and returns one compact bundle for the app to cache. It sees only the trail you chose, never your recordings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integrations:&lt;/strong&gt; &lt;strong&gt;SerpApi&lt;/strong&gt; pulls the local weather forecast and nearby parks and trailheads at pack-build time, so the picker works without scraping or a heavy proprietary maps stack. The results are baked into the pack, so no API call is needed once you're on the trail.
&lt;strong&gt;How it flows:&lt;/strong&gt; (1) At home on Wi-Fi, choose a trail and download its pack. (2) On the trail, record a short clip offline. (3) Gemma 3n checks the clip against the pack's species list on the device. (4) You get a result card, add confirmed birds to your lifelist, and put the phone away.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;A closed API would fail this project at its most important moment: standing on a ridge with zero bars. Because the model weights are open, TrailWing runs inference locally and works fully offline, which is exactly where birders actually are.&lt;/p&gt;

&lt;p&gt;Open weights also protect privacy. Audio recorded in the field, combined with where you were and when, says a lot about a person. With a local model, those recordings never leave the device, and the only thing the server ever learns is which trail you picked.&lt;/p&gt;

&lt;p&gt;Finally, openness lets the community improve it. A regional birding club can fine-tune or swap the model for the species of their area, adjust the prompts for their local dialects of calls, or run their own trail-pack server, all without waiting for a vendor, paying per request, or asking permission. The cost to run it on a walk is nothing.&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Best Use of Gemma&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Best Use of Render&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Best Use of SerpApi&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>I just joined ig...</title>
      <dc:creator>Aditya Arora</dc:creator>
      <pubDate>Fri, 09 Oct 2026 16:49:33 +0000</pubDate>
      <link>https://dev.to/aditya_arora/i-just-joined-ig-4n8j</link>
      <guid>https://dev.to/aditya_arora/i-just-joined-ig-4n8j</guid>
      <description></description>
    </item>
  </channel>
</rss>
