<?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: Mohammed Naser</title>
    <description>The latest articles on DEV Community by Mohammed Naser (@m7mdd77).</description>
    <link>https://dev.to/m7mdd77</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%2F4169285%2F394d9b73-f47f-452f-9ddb-ff334d1bb3b6.png</url>
      <title>DEV Community: Mohammed Naser</title>
      <link>https://dev.to/m7mdd77</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/m7mdd77"/>
    <language>en</language>
    <item>
      <title>Outside Cue - local AI that makes the screen the short part</title>
      <dc:creator>Mohammed Naser</dc:creator>
      <pubDate>Thu, 08 Oct 2026 14:02:55 +0000</pubDate>
      <link>https://dev.to/m7mdd77/outside-cue-local-ai-that-makes-the-screen-the-short-part-4m7p</link>
      <guid>https://dev.to/m7mdd77/outside-cue-local-ai-that-makes-the-screen-the-short-part-4m7p</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;An outside break doesn't need another feed. Outside Cue gives you three small&lt;br&gt;
things to notice, then gets out of your way.&lt;/p&gt;

&lt;p&gt;You describe your curiosity: the shapes of buildings, the sound around you,&lt;br&gt;
or leaves and bark. A local sentence-embedding model matches those words to&lt;br&gt;
an original catalog of twelve short observation cues. Pick an outdoor setting&lt;br&gt;
and a short break duration. Review or print the cues, then start the timer.&lt;br&gt;
You can finish early and optionally write down one detail you noticed.&lt;/p&gt;

&lt;p&gt;The cues can be used from a comfortable seated outdoor spot. There is no map,&lt;br&gt;
step target, leaderboard, notification stream, or need to photograph people.&lt;br&gt;
The project does not determine whether a place or the weather is safe.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/m7mdd77/outside-cue/blob/main/evidence/OutsideCue-demo.mp4" rel="noopener noreferrer"&gt;Watch or download the 20-second demo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/m7mdd77/outside-cue/blob/main/evidence/demo-tour.gif" rel="noopener noreferrer"&gt;Captured-screen GIF tour&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The local 20-second MP4 demo uses actual browser captures of the form,&lt;br&gt;
AI-selected cues, break timer, and reflection. Its banner explicitly labels&lt;br&gt;
it as a capture tour, not real-time. It is not a field test or a recording of&lt;br&gt;
someone completing an outdoor break. All 480 video frames decoded successfully.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/m7mdd77/outside-cue" rel="noopener noreferrer"&gt;Outside Cue source and tests&lt;/a&gt;. Original application code and cue catalog are MIT licensed; model/runtime attribution is retained in the README.&lt;/p&gt;

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

&lt;p&gt;The application is Node.js and plain browser JavaScript. Transformers.js 3.8.1&lt;br&gt;
runs the Apache-2.0 MiniLM ONNX checkpoint locally on CPU. It creates normalized&lt;br&gt;
sentence embeddings for the user's words and the cue catalog. A similarity&lt;br&gt;
ranking selects three cues after applying the setting filter.&lt;/p&gt;

&lt;p&gt;The model is essential to semantic matching, but it is not allowed to invent&lt;br&gt;
instructions. All returned text comes from the reviewed catalog. Similarity&lt;br&gt;
scores are not displayed as certainty about a user's needs.&lt;/p&gt;

&lt;p&gt;The pinned model download is roughly 24 MB. A preparation command verifies&lt;br&gt;
its metadata and ONNX hash. The running application disables remote model&lt;br&gt;
loading. Missing files cause a clear startup failure rather than a hosted&lt;br&gt;
fallback.&lt;/p&gt;

&lt;p&gt;I used Codex for engineering and documentation assistance. Verification&lt;br&gt;
includes 16 boundary tests and six real local model checks, all passing.&lt;br&gt;
The six query checks are a small authored development set, not a claim of&lt;br&gt;
general accuracy. I also tested the complete browser flow and mobile layouts&lt;br&gt;
at 390px. I have not conducted a user study or outdoor field trial.&lt;/p&gt;

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

&lt;p&gt;A request as small as "help me notice architecture" should not require an&lt;br&gt;
account or sending the thought to a remote model. After the one-time model&lt;br&gt;
download, this project can compute the match locally without a hosted API key.&lt;/p&gt;

&lt;p&gt;Open weights also make the boundary inspectable: the model selects from an&lt;br&gt;
editable cue catalog. Changing the cues doesn't require a vendor service or&lt;br&gt;
a prompt that might generate unsuitable activities. This is a narrow use of&lt;br&gt;
AI, deliberately paired with ordinary deterministic filtering and a simple&lt;br&gt;
screen that encourages leaving it behind.&lt;/p&gt;

&lt;p&gt;Model attribution: &lt;a href="https://huggingface.co/Xenova/all-MiniLM-L6-v2" rel="noopener noreferrer"&gt;Xenova/all-MiniLM-L6-v2&lt;/a&gt;,&lt;br&gt;
an Apache-2.0 ONNX conversion of sentence-transformers/all-MiniLM-L6-v2.&lt;br&gt;
Runtime: &lt;a href="https://github.com/huggingface/transformers.js" rel="noopener noreferrer"&gt;Transformers.js&lt;/a&gt;, Apache-2.0.&lt;/p&gt;

&lt;p&gt;Only the overall category is intended. No partner technology prize is claimed.&lt;/p&gt;

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