<?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: opticXC</title>
    <description>The latest articles on DEV Community by opticXC (@opticxc).</description>
    <link>https://dev.to/opticxc</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%2F2002213%2F2e48dcc9-013f-423f-b59a-f27b15eaf43e.png</url>
      <title>DEV Community: opticXC</title>
      <link>https://dev.to/opticxc</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/opticxc"/>
    <language>en</language>
    <item>
      <title>Gev: Privacy focused Email tagging system</title>
      <dc:creator>opticXC</dc:creator>
      <pubDate>Sat, 03 Oct 2026 19:13:47 +0000</pubDate>
      <link>https://dev.to/opticxc/gev-privacy-focused-email-tagging-system-1jm5</link>
      <guid>https://dev.to/opticxc/gev-privacy-focused-email-tagging-system-1jm5</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;I built &lt;strong&gt;Gev&lt;/strong&gt;, a browser extension that automatically labels new mails you recieve. It sorts messages into Receipts, Personal, Updates, Newsletters, Logins etc.&lt;/p&gt;

&lt;p&gt;I built it for &lt;strong&gt;a friend&lt;/strong&gt;, who &lt;strong&gt;cannot be bothered to go through every mail he has&lt;/strong&gt;. I wanted to make email triage easier without sending their messages to an external AI service.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;WIP, Will open soon&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;Gev uses the open laya (&lt;a href="https://github.com/receptron/laya" rel="noopener noreferrer"&gt;https://github.com/receptron/laya&lt;/a&gt;) model with ONNX Runtime Web. The model and runtime are bundled with the extension, and remote model loading is disabled.&lt;/p&gt;

&lt;p&gt;When I open gmail, the extension checks for new messages and mail, passes their content to the model. we get probability that the extension uses to automatically tag mails into categories like&lt;br&gt;
Reciepts, Trackers, Login, OTP, Newsletter, Etc.&lt;/p&gt;

&lt;p&gt;During testing, I found that Gmail blocked my first approach, which tried to start a model worker from the page script. I moved inference behind the extension’s service worker and switched the content script to extension messaging.&lt;/p&gt;

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

&lt;p&gt;The open model and browser inference tools made it possible to bundle classification with the extension and run it on-device. That gives Gev local inference path without a hosted model or inference API, keeping data private and contained&lt;/p&gt;

&lt;p&gt;It also gives users and contributors a way to inspect how classification works, change the label descriptions, or experiment with a different compatible model. For email, keeping message text out of a separate inference service is a useful property of the design.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DEV tag:&lt;/strong&gt; &lt;code&gt;hf26challenge&lt;/code&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Gev: Gmail label suggestions with an embedded inference engine.</title>
      <dc:creator>opticXC</dc:creator>
      <pubDate>Sat, 03 Oct 2026 19:04:21 +0000</pubDate>
      <link>https://dev.to/opticxc/gev-gmail-label-suggestions-with-an-embedded-inference-engine-eci</link>
      <guid>https://dev.to/opticxc/gev-gmail-label-suggestions-with-an-embedded-inference-engine-eci</guid>
      <description>&lt;p&gt;I wanted a simpler way to sort email without sending message text to an AI service. So I started building Gev: a browser extension that reads my Gmail messages and automatically labels them into categories like Receipts, Personal, Updates, or Newsletters.&lt;br&gt;
Gev uses Transformers.js with the &lt;a href="https://github.com/receptron/laya" rel="noopener noreferrer"&gt;https://github.com/receptron/laya&lt;/a&gt;  model. The model and ONNX runtime are bundled with the extension. There’s no inference API or hosted model involved and no data is ever sent to an external service or host(except gmail).&lt;/p&gt;

</description>
      <category>hf26challenge</category>
      <category>jev</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
