<?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: redbeansquirrel</title>
    <description>The latest articles on DEV Community by redbeansquirrel (@redbeansquirrel).</description>
    <link>https://dev.to/redbeansquirrel</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%2F4174840%2F39a30201-b3a7-43d9-a529-36b2faf591cc.png</url>
      <title>DEV Community: redbeansquirrel</title>
      <link>https://dev.to/redbeansquirrel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/redbeansquirrel"/>
    <language>en</language>
    <item>
      <title>Pocket Field Trip: a little local AI, then a little time outside</title>
      <dc:creator>redbeansquirrel</dc:creator>
      <pubDate>Sat, 10 Oct 2026 08:01:56 +0000</pubDate>
      <link>https://dev.to/redbeansquirrel/pocket-field-trip-a-little-local-ai-then-a-little-time-outside-2l51</link>
      <guid>https://dev.to/redbeansquirrel/pocket-field-trip-a-little-local-ai-then-a-little-time-outside-2l51</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;Pocket Field Trip gives people taking a short break from desk work one small thing to do outside. You describe the kind of break you want, set your available time, and say whether walking is welcome. A local model chooses a mission from a small, readable collection. Then the app invites you to close the screen.&lt;/p&gt;

&lt;p&gt;If you want to draw, it might suggest sketching a shadow. If you want company, it can suggest a short loop with a friend. If you have five minutes and want to stay in one spot, those constraints remove longer walks before the model chooses anything.&lt;/p&gt;

&lt;p&gt;I kept the interaction short: one request, one card, three steps. There is no feed to browse or streak to maintain. You can print the card, but you can also just remember the idea and leave.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&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%2Fh8xqkarw0p7izyr5m14s.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%2Fh8xqkarw0p7izyr5m14s.png" alt="A locally selected shadow-sketch activity in Pocket Field Trip" width="799" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://redbeansquirrel.github.io/pocket-field-trip/" rel="noopener noreferrer"&gt;Watch the 60-second demonstration&lt;/a&gt; or &lt;a href="https://redbeansquirrel.github.io/pocket-field-trip/demo.mp4" rel="noopener noreferrer"&gt;download the MP4&lt;/a&gt;. A 60-second MP4 has been generated from five actual browser screenshots, each displayed for 12 seconds with explanatory captions. This is an edited screenshot demonstration, not a continuous screen recording. It shows an interface overview, a drawing request, an exercise request, the no-walking constraint and the pause response when outdoor conditions are unsuitable. The app runs locally and does not need a public deployment.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/redbeansquirrel/pocket-field-trip" rel="noopener noreferrer"&gt;Public source code and local setup&lt;/a&gt;. The project was created on October 10, 2026, during this challenge's entry period. The source includes an exact-weight downloader, dependency versions, the full mission collection and an executable evaluation.&lt;/p&gt;

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

&lt;p&gt;The AI component is the open &lt;code&gt;paraphrase-MiniLM-L3-v2&lt;/code&gt; sentence embedding model. I use the quantized ONNX conversion published by Xenova, with ONNX Runtime on a CPU and the Hugging Face tokenizer.&lt;/p&gt;

&lt;p&gt;I gave the model one responsibility: connect the person's own wording to a small outdoor activity. Time and movement constraints filter the collection first. MiniLM then ranks the eligible cards by semantic similarity, and the selected card supplies three short instructions that anyone can inspect in the source. This keeps the model's task narrow and makes the constraints testable on their own. The outdoor-conditions checkbox adds a separate stopping point: when conditions are unsuitable, the app pauses.&lt;/p&gt;

&lt;p&gt;The tradeoff is coverage. During browser review, an exercise request with walking disabled returned a drawing activity. It respected the movement constraint and made a weak recommendation. That result is included in the demo because it shows the boundary of this version: eight activities can cover a few useful intentions, but cannot promise a good answer for every combination of preferences. The local checks establish that the model runs and the constraints hold. An outdoor trial and broader relevance evaluation remain future work.&lt;/p&gt;

&lt;p&gt;The first local check matched all eight intended missions in eight hand-written examples. It also passed 64 combinations of time and movement constraints. Each semantic example took 0.6–1.3 ms after an 80.5 ms model startup on the test computer. These examples were written alongside the app, so they are a diagnostic check, not an independent benchmark. No outdoor field trial or behavioral improvement has been measured.&lt;/p&gt;

&lt;p&gt;A separate HTTP input check passed 29 malformed requests, which returned JSON HTTP 400 responses, and three valid controls. The original semantic and constraint checks also passed after the input-validation fix.&lt;/p&gt;

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

&lt;p&gt;The model and tokenizer occupy about 18.2 MB. After installation, the app can run with no internet connection. It loads explicit local files, has no hosted inference fallback, and does not send the user's words to a service.&lt;/p&gt;

&lt;p&gt;Open weights let this be a small tool that still works when an account expires or a connection disappears. The source also exposes the limits: eight missions, English input, no local weather information and no claim that a similarity score measures safety or confidence.&lt;/p&gt;

&lt;p&gt;The useful part of AI here is modest: turning someone's own wording into a relevant starting point. The useful part of the product happens after that, away from the computer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Credits and AI Use
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://huggingface.co/sentence-transformers/paraphrase-MiniLM-L3-v2" rel="noopener noreferrer"&gt;original Sentence Transformers model&lt;/a&gt; is Apache-2.0 licensed. The &lt;a href="https://huggingface.co/Xenova/paraphrase-MiniLM-L3-v2" rel="noopener noreferrer"&gt;Xenova repository&lt;/a&gt; provides the quantized ONNX conversion. Inference uses &lt;a href="https://onnxruntime.ai/" rel="noopener noreferrer"&gt;ONNX Runtime&lt;/a&gt;, with &lt;a href="https://github.com/huggingface/tokenizers" rel="noopener noreferrer"&gt;Hugging Face Tokenizers&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;AI agents produced the implementation, mission text and this article. Additional AI review and local tests checked the results. All claims above refer to local checks that have actually run. This entry would compete for the overall prize; it does not claim a partner technology category.&lt;/p&gt;

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