<?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: Daniel Sultan</title>
    <description>The latest articles on DEV Community by Daniel Sultan (@itsdanielsultan).</description>
    <link>https://dev.to/itsdanielsultan</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%2F4174441%2F4aed4233-012a-4586-8f04-b3d2f36251f0.jpg</url>
      <title>DEV Community: Daniel Sultan</title>
      <link>https://dev.to/itsdanielsultan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/itsdanielsultan"/>
    <language>en</language>
    <item>
      <title>Little Pile puts loose notes into small groups</title>
      <dc:creator>Daniel Sultan</dc:creator>
      <pubDate>Tue, 20 Oct 2026 04:48:43 +0000</pubDate>
      <link>https://dev.to/itsdanielsultan/little-pile-puts-loose-notes-into-small-groups-bp8</link>
      <guid>https://dev.to/itsdanielsultan/little-pile-puts-loose-notes-into-small-groups-bp8</guid>
      <description>&lt;p&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week3-2026-10-19"&gt;Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Little Pile helps with a list of loose notes. Paste one note per line and it suggests small groups based on meaning. Each group takes its name from an original note. Nothing is thrown away: review the groups, keep a note separate, or ungroup the whole pile. Then download a Markdown copy.&lt;/p&gt;

&lt;p&gt;It handles up to 40 short notes. It does not open pasted links, sort your actual files or touch your inbox.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://itsdanielsultan.github.io/little-pile/" rel="noopener noreferrer"&gt;https://itsdanielsultan.github.io/little-pile/&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/itsdanielsultan/little-pile" rel="noopener noreferrer"&gt;https://github.com/itsdanielsultan/little-pile&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;A small open model, MiniLM, reads the notes in a browser Worker. Its sentence embeddings help the app find related lines, even when they use different words. The model version is pinned, and the grouping and export steps are ordinary code.&lt;/p&gt;

&lt;p&gt;The suggestions can be wrong. There are review controls instead of automatic deletion. AI tools generated the implementation and this write-up; checks used synthetic notes.&lt;/p&gt;

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

&lt;p&gt;The open model can run on your device, so sorting does not need to send your notes to a hosted model or charge for each request. First use downloads public model files; those hosts still see normal connection details. Notes stay in page memory and clear on reload. Offline reload is not promised.&lt;/p&gt;

&lt;p&gt;The model, grouping rule and export code can be inspected and changed.&lt;/p&gt;

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

&lt;p&gt;Overall prize only.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Scope Slip turns a request into a work outline</title>
      <dc:creator>Daniel Sultan</dc:creator>
      <pubDate>Mon, 12 Oct 2026 20:24:33 +0000</pubDate>
      <link>https://dev.to/itsdanielsultan/scope-slip-turns-a-request-into-a-work-outline-35b</link>
      <guid>https://dev.to/itsdanielsultan/scope-slip-turns-a-request-into-a-work-outline-35b</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12"&gt;Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Scope Slip is a small prototype for freelancers who need to turn a vague request into a clear piece of work.&lt;/p&gt;

&lt;p&gt;Describe the request, choose a suggested service, edit what is included and what needs confirming, then download the outline. The sample menu covers small jobs such as a one-page website, spreadsheet cleanup and captions.&lt;/p&gt;

&lt;p&gt;A freelancer or studio could pay to adapt this to their own services. The demo is free. The services are examples; there are no customers, sales or payments behind it yet.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://itsdanielsultan.github.io/scope-slip/" rel="noopener noreferrer"&gt;Try Scope Slip&lt;/a&gt;. The first model download needs an internet connection.&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%2Fjn2osbg0n4p3zow1ai55.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%2Fjn2osbg0n4p3zow1ai55.png" alt="Scope Slip matching a bakery request to services and showing an editable work outline" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/itsdanielsultan/scope-slip" rel="noopener noreferrer"&gt;Source and instructions&lt;/a&gt;. The app code is MIT-licensed; model, runtime and font licences are kept in the repository.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://huggingface.co/Xenova/all-MiniLM-L6-v2" rel="noopener noreferrer"&gt;MiniLM&lt;/a&gt;, an open model, compares the meaning of the request with seven sample services. It runs in a browser worker through Transformers.js. The top three matches are suggestions. The outline text comes from the selected service menu, and users can edit it.&lt;/p&gt;

&lt;p&gt;Request text stays in the tab. Public model and runtime files download on first use. No paid model endpoint, account or payment is needed.&lt;/p&gt;

&lt;p&gt;ChatGPT in Codex substantially produced the implementation, tests and this write-up. Real browser checks covered matching, editing, downloads and small-phone layouts. These are functional checks, not measured accuracy or user research.&lt;/p&gt;

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

&lt;p&gt;The open model makes local matching possible without sending the request to a paid AI service. The open app source lets someone replace the sample menu with their own, inspect the matching and change the outline format. The next useful feedback would come from a real freelancer trying it.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Best Use of GitHub Copilot — GitHub Actions option.&lt;/strong&gt; The &lt;a href="https://github.com/itsdanielsultan/scope-slip/actions/runs/38302641019" rel="noopener noreferrer"&gt;actual workflow&lt;/a&gt; runs tests and lint, builds the app and deploys the public demo. This entry uses the GitHub Actions route listed in that category.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Pocket Outside gives you a park plan to print</title>
      <dc:creator>Daniel Sultan</dc:creator>
      <pubDate>Sat, 10 Oct 2026 02:33:45 +0000</pubDate>
      <link>https://dev.to/itsdanielsultan/pocket-outside-gives-you-a-park-plan-to-print-dmk</link>
      <guid>https://dev.to/itsdanielsultan/pocket-outside-gives-you-a-park-plan-to-print-dmk</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 Outside helps you choose a small outdoor break in Mississauga. Describe what sounds good, pick 15, 30 or 60 minutes, and get a short park plan you can print.&lt;/p&gt;

&lt;p&gt;I wanted the tool to have a clear stopping point: choose a place, check its official page, take the plan, and leave the screen. There is no feed or account to keep you there.&lt;/p&gt;

&lt;p&gt;The app has eight parks, with short descriptions checked against City of Mississauga and Credit Valley Conservation pages. An open model matches your request to those descriptions. The park facts and suggested activities are written records, so the model never has to invent a trail or opening condition.&lt;/p&gt;

&lt;p&gt;That distinction matters at Erindale Park. Its island bridge is closed, and the plan shows the closure and official repair notice before you go. Kariya Park's spring blossoms are described as seasonal, rather than promised for an October visit.&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%2F23e8qcc1hn87okzquxgp.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%2F23e8qcc1hn87okzquxgp.png" alt="Pocket Outside showing its source-linked Erindale Park plan" width="800" height="676"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://itsdanielsultan.github.io/pocket-outside/" rel="noopener noreferrer"&gt;Try Pocket Outside&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Try “a Japanese garden with trees downtown” or “birdwatching on a wetland boardwalk.” You can also choose another park manually. Print keeps the source URL and access notes; the rest of the interface stays off the page.&lt;/p&gt;

&lt;p&gt;First matching use downloads roughly 45–50 MB, so load it while connected. The time choice shapes the suggested activity; it does not calculate a route or travel time. Check the official page for current conditions.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/itsdanielsultan/pocket-outside" rel="noopener noreferrer"&gt;Source on GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The project and repository were created on October 9, inside this challenge's window. The app's code is MIT licensed. Model, library and font licences are recorded separately; linked park pages retain their own rights.&lt;/p&gt;

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

&lt;p&gt;The interface is plain HTML, CSS and JavaScript, built with Vite. Transformers.js runs the pinned, quantized MiniLM sentence model in a browser Worker. It converts the request and park descriptions into vectors, compares their similarity, and returns matching records.&lt;/p&gt;

&lt;p&gt;The query stays in the browser. The initial model and runtime downloads come from Hugging Face and jsDelivr; there is no inference API key or server processing the request. Manual park selection still works if the download fails.&lt;/p&gt;

&lt;p&gt;Actual browser tests matched a river-and-trees request to Riverwood, a Japanese-garden request to Kariya Park, and a wetland-boardwalk request to Rattray Marsh. I also checked empty input, manual selection, duration changes, narrow-screen layout and one-page printing. Six automated tests cover the ranking mathematics and error handling. Outdoor field testing is still ahead.&lt;/p&gt;

&lt;p&gt;Codex helped build, debug and draft this project, with the sources and displayed results checked during development.&lt;/p&gt;

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

&lt;p&gt;Someone in another city can replace eight records with their own local parks, inspect the matching code, or swap the model. They do not need an inference subscription or permission to change the app.&lt;/p&gt;

&lt;p&gt;Keeping the sources beside each plan also makes updates straightforward. A bridge closure can be corrected in one record without retraining anything. I like that the useful part is small enough to understand and maintain.&lt;/p&gt;

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