<?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: Ryan</title>
    <description>The latest articles on DEV Community by Ryan (@ryancodedev).</description>
    <link>https://dev.to/ryancodedev</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%2F4157159%2Fae924bb8-c3a0-45c0-ba05-4c34ba150a8f.png</url>
      <title>DEV Community: Ryan</title>
      <link>https://dev.to/ryancodedev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ryancodedev"/>
    <language>en</language>
    <item>
      <title>Local AI Email Summarizer</title>
      <dc:creator>Ryan</dc:creator>
      <pubDate>Sat, 24 Oct 2026 19:48:52 +0000</pubDate>
      <link>https://dev.to/ryancodedev/local-ai-email-summarizer-1bd</link>
      <guid>https://dev.to/ryancodedev/local-ai-email-summarizer-1bd</guid>
      <description>&lt;p&gt;&lt;em&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;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Whether you're a small business owner or have a side hustle, you likely deal with a lot of email, many of which are long, confusing, and unnecessary. Local AI Email Summarizer helps you tackle those long emails, create a list of any needed action items, and even drafts possible replies to help save your time (and your sanity).&lt;/p&gt;

&lt;p&gt;The web app connects to your local LLM server, so no data leaves your control. Simply open the "settings" area and configure the IP address and port of your local Ollama (or LM Studio, etc) server. &lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/RyanCodeDev/local-ai-email-summarizer" rel="noopener noreferrer"&gt;https://github.com/RyanCodeDev/local-ai-email-summarizer&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;This web app uses React with Vite to keep everything client-side. The web app allows you to connect to your local AI server (Ollama, LM Studio, etc) so everything stays local and in your own control.&lt;/p&gt;

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

&lt;p&gt;A lot of emails contain sensitive or confidential information, so privacy is paramount when implementing an AI solution. Using open and local AI models helps preserve user privacy.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Lazy Payoff
&lt;/h2&gt;

&lt;p&gt;Long emails demand significant mental effort, requiring readers to sift through dense paragraphs to extract key points and action items. This constant context-switching and information overload can quickly lead to decision fatigue and decreased productivity. By automatically distilling these lengthy messages into concise summaries, this project helps reduce that cognitive burden, allowing you to grasp the core message instantly and respond more effectively.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Contract Pal AI</title>
      <dc:creator>Ryan</dc:creator>
      <pubDate>Thu, 15 Oct 2026 19:25:17 +0000</pubDate>
      <link>https://dev.to/ryancodedev/contract-pal-ai-3a7k</link>
      <guid>https://dev.to/ryancodedev/contract-pal-ai-3a7k</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;Small business owners and freelancers often have to read through contracts when working with clients. With the volume of work and countless responsibilities that fall on a small business owner, it's easy to miss important details. Contract Pal is a second set of eyes for your next contract! Spot red flags, understand the trade-offs, and be better prepared (and save time) when you talk with your lawyer. This utilizes your local Ollama server and models, so no confidential business data leaves your control!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Not legal advice.&lt;/strong&gt; Contract Pal is not a lawyer. AI can miss issues or make mistakes. Reviews are for informational purposes only and are not a substitute for advice from a qualified lawyer.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/RyanCodeDev/contract-pal-ai" rel="noopener noreferrer"&gt;https://github.com/RyanCodeDev/contract-pal-ai&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;This is a buildless HTML, CSS, and JavaScript app that helps freelancers and small business owners spot contract red flags using their own Ollama server. No framework, third-party runtime packages, API key, telemetry, or application backend is required. A bundled Node.js server serves the static files locally.  It uses Javascript to connect to your local Ollama server, so no .env file to set up.&lt;/p&gt;

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

&lt;p&gt;Contracts often contain confidential business information that you don't want to send to a third-party AI server. Using local AI models running via Ollama on your own machine, you virtually eliminate the risk of data leakage.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Autumn Hunt AI 🍁</title>
      <dc:creator>Ryan</dc:creator>
      <pubDate>Sun, 11 Oct 2026 11:21:30 +0000</pubDate>
      <link>https://dev.to/ryancodedev/autumn-hunt-ai-4k6m</link>
      <guid>https://dev.to/ryancodedev/autumn-hunt-ai-4k6m</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;em&gt;Autumn Hunt AI&lt;/em&gt; is a scavenger hunt that encourages users to get outside and snap some photos of autumn. This web app uses local AI (via Transformers.js) to detect autumn objects. The user snaps photos, which are analyzed locally on the user's phone, for autumn objects on their scavenger hunt list. As objects are detected, they are automatically crossed off the list.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/RyanCodeDev/autumn-hunt-ai" rel="noopener noreferrer"&gt;https://github.com/RyanCodeDev/autumn-hunt-ai&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;This web app was built in React using Vite. A small local object detection model (onnx-community/rtdetr_v2_r50vd-ONNX) is loaded in the browser on the user's device. As the user snaps photos, the image is analyzed by the local model to detect objects in the image. If the object matches one of the items on the user's scavenger hunt list (or matches a predefined variation of its name), it is automatically crossed off the user's list.&lt;/p&gt;

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

&lt;p&gt;This web app is completely private as no images leaves the user device. All image processing happens on device.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Gluten Gumshoe</title>
      <dc:creator>Ryan</dc:creator>
      <pubDate>Sun, 04 Oct 2026 15:19:20 +0000</pubDate>
      <link>https://dev.to/ryancodedev/gluten-gumshoe-37f3</link>
      <guid>https://dev.to/ryancodedev/gluten-gumshoe-37f3</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;My spouse has some sensitivities to gluten, so we're constantly reading ingredient labels to see what foods might contain gluten. It can be a time-consuming process, especially for foods with long ingredient lists.&lt;/p&gt;

&lt;p&gt;We previously would snap a photo of an ingredient list and send it to ChatGPT to ask if a product contained gluten, but photo processing can quickly cause you to hit your AI usage limits. It was important to me to develop a web app that runs client-side on the user's device and can be run offline, so usage limits and data connectivity are not a concern.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gluten Gumshoe&lt;/strong&gt; is a web app with a client-side AI OCR engine that can "read" the ingredients from a label and run them through a set of client-side rules to quickly determine if an ingredient may contain gluten.&lt;/p&gt;

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

&lt;p&gt;Try out the alpha version at: &lt;a href="https://gluten-gumshoe.pages.dev" rel="noopener noreferrer"&gt;https://gluten-gumshoe.pages.dev&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;For "reading" the ingredient labels, I used &lt;strong&gt;PP-OCRv5&lt;/strong&gt;, which is an AI-based OCR system that can run locally on a smartphone, tablet or laptop. This provides several advantages to a simple OCR engine as ingredient labels can contain 10–30 separate lines or text regions.  The current PP-OCRv5 mobile recognizer is good at reading distorted/rotated text, which one often encounters when trying to take a picture of a product's label.  With the help of Codex, I implemented the PP-OCRv5 engine for images obtained from a live camera capture or a pre-existing photo.&lt;/p&gt;

&lt;p&gt;The ingredients list is then run through a set of client-side rules to assess if an ingredient may contain gluten or not, using data from the US FDA data for packaged foods.&lt;/p&gt;

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

&lt;p&gt;When you're concerned if eating something can make you sick, you don't want to think about chatbot usage limits or if you have good cellular service. You'd rather be enjoying the food than staring at an app's loading spinner. This solution can run client-side and use local AI to read an ingredient label and provide insights in seconds.  This is also privacy-focused as all data stays on your device, so you don't need to worry about a chatbot accessing your photo's location data or analyzing something in the background of your image.&lt;/p&gt;

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