<?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: Anthony</title>
    <description>The latest articles on DEV Community by Anthony (@it0nyb).</description>
    <link>https://dev.to/it0nyb</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%2F105660%2F6b36a852-d419-4a5d-aa35-838036e84cbf.png</url>
      <title>DEV Community: Anthony</title>
      <link>https://dev.to/it0nyb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/it0nyb"/>
    <language>en</language>
    <item>
      <title>Founder Signal: A Local, Evidence-Backed Commitment Ledger for Founders</title>
      <dc:creator>Anthony</dc:creator>
      <pubDate>Mon, 26 Oct 2026 05:08:47 +0000</pubDate>
      <link>https://dev.to/it0nyb/founder-signal-a-local-evidence-backed-commitment-ledger-for-founders-3p4k</link>
      <guid>https://dev.to/it0nyb/founder-signal-a-local-evidence-backed-commitment-ledger-for-founders-3p4k</guid>
      <description>&lt;p&gt;&lt;em&gt;This article is submitted for the **Hacktoberfest Open-Source AI Challenge: Week 3 (Slow and Steady)&lt;/em&gt;&lt;em&gt;.&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Target Categories: **Overall Winner&lt;/em&gt;&lt;em&gt;, **Best Use of Gemma&lt;/em&gt;&lt;em&gt;, **Best Use of MongoDB Atlas&lt;/em&gt;&lt;em&gt;.&lt;/em&gt;&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%2Fwgualaps2x3epzu6qcdg.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%2Fwgualaps2x3epzu6qcdg.png" alt="Founder Signal Demo" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  1. The Real-World "Sloth" Problem: Commitment Drift
&lt;/h2&gt;

&lt;p&gt;October 20 was &lt;strong&gt;International Sloth Day&lt;/strong&gt;. Sloths understand something fundamental about energy conservation: they move at their own pace, avoid wasted motion, and let the world come to them.&lt;/p&gt;

&lt;p&gt;Early-stage founders, on the other hand, do the exact opposite. We drown in operational motion. Every day brings a barrage of accelerator emails, co-founder syncs, investor requests, and forwarded meeting notes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;"I'll send the updated pitch deck by Friday morning."&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;"We should review the contractor's contract on Tuesday."&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;"Sarah mentioned she needs the revised financial projections by Monday at 2 PM."&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Three days later, a follow-up email moves the deadline from Friday to Monday. Another message asks if anyone followed up on the investor introductions.&lt;/p&gt;

&lt;p&gt;Without automation, staying on top of this is an exhausting cognitive tax. Founders end up constantly rereading email threads, copying fragmented tasks into todo apps, manually checking dates, and worrying that a promised deliverable slipped through the cracks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Founder Signal&lt;/strong&gt; fixes that by automating the tracking overhead completely. You channel your inner sloth: the system quietly ingests your inbound communications, extracts promises and deadlines, reconciles changes against your ledger, and delivers a tiny, high-conviction morning briefing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The agent proposes; you confirm. You only expend energy when a real decision is required.&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  2. What I Built: Founder Signal
&lt;/h2&gt;

&lt;p&gt;Founder Signal is a local-first, evidence-backed commitment extraction and reconciliation ledger designed specifically for founders.&lt;/p&gt;

&lt;p&gt;Unlike typical chatbots or simple summarizers that produce vague bullet points, Founder Signal anchors every extracted commitment to &lt;strong&gt;verbatim source text&lt;/strong&gt; and reconciles new information against existing promises.&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;journey
    title The Founder Experience with Founder Signal
    section 1. Passive Intake
      Receive accelerator update or meeting note: 5: Founder
      Heartbeat or folder watcher detects file: 5: Founder Signal (Himalaya)
    section 2. Evidence-Backed Extraction
      Extract promises, owners, and deadlines: 5: Founder Signal (Gemma)
      Anchor each commitment to verbatim source quote: 5: Founder Signal
    section 3. Deterministic Reconciliation
      Detect moved deadline (Friday -&amp;gt; Monday): 5: Founder Signal (Reconciler)
      Propose ledger update without silent overrides: 5: Founder Signal
    section 4. The Lazy Payoff
      Review 4-lane Morning Cockpit Briefing: 5: Founder
      1-tap confirm or dismiss: 5: Founder&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  The 4-Stage Pipeline:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Passive Ingestion&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Drops incoming email text, voice-note audio (&lt;code&gt;.mp3&lt;/code&gt;, &lt;code&gt;.wav&lt;/code&gt;), or meeting transcripts into a local inbox folder.&lt;/li&gt;
&lt;li&gt;An automated background heartbeat pulls new emails directly from configured email accounts (e.g., Zoho, Gmail) via the CLI.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deterministic &amp;amp; Open-Weight Extraction&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Parses commitments, owners, due dates, decisions, and follow-ups.&lt;/li&gt;
&lt;li&gt;Every single commitment is anchored to verbatim evidence quotes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smart Reconciliation (The Real Differentiator)&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;If an email moves a deadline from Friday to Monday, Founder Signal identifies the existing commitment, flags the change, and stages the update.&lt;/li&gt;
&lt;li&gt;Retains both source quotes so the founder always knows &lt;em&gt;why&lt;/em&gt; a date shifted.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Cockpit Briefing&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Synthesizes the ledger into four crisp priority lanes:

&lt;ul&gt;
&lt;li&gt;⚡ &lt;strong&gt;Do Now&lt;/strong&gt;: High-priority obligations due today or overdue.&lt;/li&gt;
&lt;li&gt;🗓️ &lt;strong&gt;Coming Up&lt;/strong&gt;: Upcoming deliverables scheduled within the next 7 days.&lt;/li&gt;
&lt;li&gt;⏳ &lt;strong&gt;Waiting On Someone&lt;/strong&gt;: Promises made by external counterparties (co-founders, investors, contractors).&lt;/li&gt;
&lt;li&gt;🔍 &lt;strong&gt;Needs Clarification&lt;/strong&gt;: Commitments missing explicit assignees or concrete deadlines.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  3. Architecture &amp;amp; Tech Stack
&lt;/h2&gt;

&lt;p&gt;Founder Signal was engineered with privacy, reliability, and modularity at its core.&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;graph TD
    Sources[Inbound Sources: Email, Voice Notes, Transcripts] --&amp;gt; Watcher[Inbox Watcher &amp;amp; Heartbeat Service]
    Watcher --&amp;gt; Extractor{Extractor Engine}

    subgraph AI Inference Layer
        Extractor --&amp;gt;|Local-First Open-Weight| Gemma[Google Gemma via Ollama]
        Extractor -.-&amp;gt;|Offline Fallback| RuleEngine[Deterministic Regex/Rule Extractor]
    end

    Extractor --&amp;gt; Reconciler[Commitment Reconciliation Engine]
    Reconciler --&amp;gt; Ledger[(Ledger Backend)]

    subgraph Data Layer
        Ledger --&amp;gt; Mongo[(MongoDB Atlas Cloud Cluster)]
        Ledger -.-&amp;gt; SQLite[(Local SQLite zero-config)]
    end

    Ledger --&amp;gt; Web[Editorial Cockpit Dashboard]
    Ledger --&amp;gt; Hermes[Hermes Agent Skill Endpoint]&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  Stack Highlights:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Core LLM&lt;/strong&gt;: &lt;strong&gt;Gemma&lt;/strong&gt; open-weight model (&lt;code&gt;gemma4:e2b-it-qat&lt;/code&gt;) running locally via Ollama. No sensitive pitch decks or private investor correspondence ever leave the founder's machine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ledger Storage&lt;/strong&gt;: &lt;strong&gt;MongoDB Atlas&lt;/strong&gt; (&lt;code&gt;pymongo&lt;/code&gt;) for durable, scalable cloud storage of sources, extracted commitments, and reconciliation audit trails, with an offline SQLite fallback.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Email Ingestion&lt;/strong&gt;: Native integration with the Himalaya CLI and Linux &lt;code&gt;systemd&lt;/code&gt; user service running a reliable 15-minute background heartbeat.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Interface&lt;/strong&gt;: Lightweight editorial cockpit UI rendered with Flask, featuring a high-contrast attention-first layout in warm ivory, spruce teal, and amber.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hermes Agent Integration&lt;/strong&gt;: Exposes a standard Hermes-compatible skill protocol (&lt;code&gt;GET /skills/founder-signal/manifest&lt;/code&gt; and &lt;code&gt;POST /skills/founder-signal/invoke&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  4. The Lazy Payoff: Time &amp;amp; Effort Saved
&lt;/h2&gt;

&lt;p&gt;How much time does this actually save?&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Weekly Activity&lt;/th&gt;
&lt;th&gt;Manual Status Quo&lt;/th&gt;
&lt;th&gt;With Founder Signal&lt;/th&gt;
&lt;th&gt;Effort Saved&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Rereading email threads for deliverables&lt;/td&gt;
&lt;td&gt;10–20 mins/wk&lt;/td&gt;
&lt;td&gt;0 mins (automated)&lt;/td&gt;
&lt;td&gt;10–20 mins/wk&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Copying tasks &amp;amp; dates into notes/todo apps&lt;/td&gt;
&lt;td&gt;5–10 mins/wk&lt;/td&gt;
&lt;td&gt;0 mins (automated)&lt;/td&gt;
&lt;td&gt;5–10 mins/wk&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Spotting moved deadlines &amp;amp; resolving conflicts&lt;/td&gt;
&lt;td&gt;5–15 mins/wk&lt;/td&gt;
&lt;td&gt;1 min (review proposals)&lt;/td&gt;
&lt;td&gt;4–14 mins/wk&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Preparing daily priorities &amp;amp; follow-ups&lt;/td&gt;
&lt;td&gt;5–10 mins/wk&lt;/td&gt;
&lt;td&gt;1 min (scan Cockpit brief)&lt;/td&gt;
&lt;td&gt;4–9 mins/wk&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Total Cognitive Overhead&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~25–55 minutes/wk&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~2 minutes/wk&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~23–53 minutes/wk&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Estimated time saved: 25–55 minutes per week&lt;/strong&gt; of tedious administrative chore time. More importantly, it completely eliminates the low-level anxiety of wondering &lt;em&gt;"Did I forget something I promised in that email thread on Thursday?"&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  5. Live Demo &amp;amp; How to Run It
&lt;/h2&gt;

&lt;p&gt;To make testing instant and completely safe for hackathon judges and readers, Founder Signal includes an automated demo script that runs in an isolated temporary database (never touching your local data), executing the full ingest → extract → reconcile → brief → voice note → Hermes agent flow in seconds:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/AnthonyASBaptiste/founder-signal.git
&lt;span class="nb"&gt;cd &lt;/span&gt;founder-signal
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
&lt;span class="nb"&gt;cp&lt;/span&gt; .env.example .env

&lt;span class="c"&gt;# Standard offline demo (isolated temp DB, rules engine)&lt;/span&gt;
&lt;span class="nv"&gt;FOUNDER_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;Anthony bash demo/demo.sh

&lt;span class="c"&gt;# Or run with local Gemma open-weight LLM inference:&lt;/span&gt;
bash demo/demo.sh &lt;span class="nt"&gt;--gemma&lt;/span&gt;

&lt;span class="c"&gt;# Or run with MongoDB Atlas cloud ledger:&lt;/span&gt;
bash demo/demo.sh &lt;span class="nt"&gt;--mongodb&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What the demo script executes:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Initial Ingestion&lt;/strong&gt;: Ingests an authentic accelerator update email (&lt;code&gt;demo/samples/accelerator-update.txt&lt;/code&gt;), extracting commitments with verbatim evidence into an isolated temporary database.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reconciliation &amp;amp; Deadline Drift&lt;/strong&gt;: Ingests a schedule adjustment (&lt;code&gt;demo/samples/schedule-change.txt&lt;/code&gt;), demonstrating how reconciliation detects Sarah's deck deadline moving from Friday to Monday and stages a proposed update.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Commitment Confirmation&lt;/strong&gt;: Applies the proposed change with &lt;code&gt;--apply&lt;/code&gt; and outputs the updated morning cockpit briefing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local Voice Transcription&lt;/strong&gt;: Ingests voice note audio or transcript notes (&lt;code&gt;demo/samples/voice-memo-investor-sync.txt&lt;/code&gt;), converting verbal promises into ledger records.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live Hermes Agent Skill Invocation&lt;/strong&gt;: Starts the background Hermes skill HTTP server, tests &lt;code&gt;GET /skills/founder-signal/manifest&lt;/code&gt; and invokes &lt;code&gt;POST /skills/founder-signal/invoke&lt;/code&gt; to produce a JSON morning briefing directly consumable by autonomous agents.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;👉 &lt;strong&gt;Source Code&lt;/strong&gt;: &lt;a href="https://github.com/AnthonyASBaptiste/founder-signal" rel="noopener noreferrer"&gt;github.com/AnthonyASBaptiste/founder-signal&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  6. Why Open Innovation Matters
&lt;/h2&gt;

&lt;p&gt;For a founder or executive, &lt;strong&gt;privacy and confidentiality are non-negotiable&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A commitment ledger contains the lifeblood of a startup: unannounced product launch targets, runway discussions, confidential investor introductions, contract disputes, and sensitive customer commitments. Uploading this continuously to proprietary commercial cloud AI models introduces serious data sovereignty and privacy risks.&lt;/p&gt;

&lt;p&gt;Open innovation provides the ideal architecture:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Zero Data Egress&lt;/strong&gt;: Using open-weight models like Google Gemma running locally, all document parsing and semantic reasoning happen in local RAM. Not a single token is transmitted off-device.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost Predictability&lt;/strong&gt;: Offline inference costs $0/month. There are no surprise monthly API bills, token limits, or sudden tier changes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auditable &amp;amp; Resilient&lt;/strong&gt;: The deterministic rule fallback guarantees that even if an AI service is unavailable or an API key expires, the core ledger extraction and reconciliation continue functioning seamlessly.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  7. Prize Categories Entered
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[x] &lt;strong&gt;Theme: Slow and Steady&lt;/strong&gt; — Rewards laziness by automating commitment capture and date reconciliation so founders can conserve energy and focus purely on high-leverage execution.&lt;/li&gt;
&lt;li&gt;[x] &lt;strong&gt;Best Use of Gemma&lt;/strong&gt; — Uses Google's open-weight &lt;strong&gt;Gemma&lt;/strong&gt; (&lt;code&gt;gemma4:e2b-it-qat&lt;/code&gt;) via Ollama as the local-first intelligence layer, achieving fast, private, and deterministic JSON extraction without data leaks.&lt;/li&gt;
&lt;li&gt;[x] &lt;strong&gt;Best Use of MongoDB Atlas&lt;/strong&gt; — Uses &lt;strong&gt;MongoDB Atlas&lt;/strong&gt; as the production multi-collection ledger (&lt;code&gt;sources&lt;/code&gt;, &lt;code&gt;commitments&lt;/code&gt;), providing high-availability cloud storage, flexible schema handling for evolving metadata, and sub-millisecond query indexing.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>hacktoberfest</category>
      <category>ai</category>
      <category>opensource</category>
      <category>productivity</category>
    </item>
    <item>
      <title>TenderLens: Turning WhatsApp &amp; Gemma into an Autonomous Bid Assistant for Contractors</title>
      <dc:creator>Anthony</dc:creator>
      <pubDate>Mon, 19 Oct 2026 02:33:20 +0000</pubDate>
      <link>https://dev.to/it0nyb/tenderlens-turning-whatsapp-gemma-into-an-autonomous-bid-assistant-for-contractors-1h0p</link>
      <guid>https://dev.to/it0nyb/tenderlens-turning-whatsapp-gemma-into-an-autonomous-bid-assistant-for-contractors-1h0p</guid>
      <description>&lt;p&gt;&lt;em&gt;This article is submitted for the **Hacktoberfest Open-Source AI Challenge: Week 2 (Side Hustle)&lt;/em&gt;&lt;em&gt;.&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Target Categories: **Overall Winner&lt;/em&gt;&lt;em&gt;, **Best Use of Render&lt;/em&gt;&lt;em&gt;, **Best Use of Gemma&lt;/em&gt;&lt;em&gt;, **Best Use of Temporal&lt;/em&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  1. The Real-World Side Hustle Problem
&lt;/h2&gt;

&lt;p&gt;In Trinidad &amp;amp; Tobago (and throughout the Commonwealth Caribbean), billions of dollars in state contracts are awarded annually under public procurement laws. Small and medium contractors—plumbers, HVAC technicians, electrical contractors, janitorial services—desperately want these jobs.&lt;/p&gt;

&lt;p&gt;Yet, &lt;strong&gt;over 60% of bids from small contractors get disqualified before technical evaluation begins&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Why? Not because their prices or craft are inadequate, but because of &lt;strong&gt;administrative bureaucracy and silent lead-time traps&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The Starting Point is Paper, Not Portals&lt;/strong&gt;: Contractors don't browse clean procurement APIs. They spot a tender notice printed in the Sunday &lt;em&gt;Guardian&lt;/em&gt;, &lt;em&gt;Express&lt;/em&gt;, or &lt;em&gt;Newsday&lt;/em&gt; newspaper, or see a screenshot forwarded in an industry WhatsApp group.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The 10-Day Statutory Bottleneck&lt;/strong&gt;: In Trinidad &amp;amp; Tobago, obtaining a &lt;strong&gt;Board of Inland Revenue (BIR) Tax Clearance Certificate&lt;/strong&gt; or &lt;strong&gt;VAT Clearance&lt;/strong&gt; takes &lt;strong&gt;5 to 10 business days&lt;/strong&gt;. A &lt;strong&gt;National Insurance Board (NIS)&lt;/strong&gt; compliance certificate takes 3 to 5 business days. If a contractor starts gathering documents in the final week before closing, &lt;strong&gt;they have already lost&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Hidden Logistics Clauses&lt;/strong&gt;: State agencies (like WASA or UDeCOTT) routinely require bidders to attend a mandatory site visit—but require registering representative names and ID numbers &lt;strong&gt;at least two (2) business days in advance&lt;/strong&gt;. Miss that registration cut-off, and you are disqualified on the spot.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Contractors are busy on job sites. They don't need another generic PDF summarizer that tells them what they already know. &lt;strong&gt;They need proactive follow-through.&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  2. What I Built: TenderLens
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;TenderLens&lt;/strong&gt; is an open-source AI tender readiness and follow-through assistant that lives right in the contractor's WhatsApp.&lt;/p&gt;

&lt;p&gt;Instead of waiting for the contractor to remember deadlines, TenderLens actively drives the bid process from the first Sunday morning newspaper clipping through to final bid package assembly.&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;journey
    title The Contractor Journey with TenderLens
    section 1. Notice Discovery
      Spot tender in Sunday newspaper: 5: Contractor
      Snap photo to WhatsApp: 5: Contractor
      Extract dates, ref &amp;amp; package instructions: 5: TenderLens (Gemma 2)
      Auto-draft package request email to agency: 5: TenderLens
    section 2. Site Visit &amp;amp; Early Milestones
      Alert 2 days before Site Visit registration: 5: TenderLens (Temporal)
      Contractor confirms site visit registered: 4: Contractor
    section 3. Full Bid Intake
      Forward downloaded RFP PDF / upload bundle: 5: Contractor
      Extract BIR/NIS/VAT &amp;amp; Bid Bond checklists: 5: TenderLens
    section 4. Proactive Follow-Through
      Scheduled check-ins on outstanding statutory docs: 5: TenderLens (Temporal)
      Escalate approaching submission deadline: 5: TenderLens
      Bid successfully submitted on time: 5: Contractor&lt;/code&gt;&lt;/pre&gt;






&lt;h2&gt;
  
  
  3. How It Works (The 4-Stage Workflow)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Stage 1: The True Entry Point — The Newspaper Ad
&lt;/h3&gt;

&lt;p&gt;A contractor snaps a photo of a newspaper notice (like the authentic WASA tender notice below) and forwards it to TenderLens on WhatsApp.&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%2Fdzg6p7qflgjorjzxr8ts.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%2Fdzg6p7qflgjorjzxr8ts.png" alt="WASA Real Tender Notice" width="535" height="992"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;TenderLens extracts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Procuring Entity&lt;/strong&gt;: Water and Sewerage Authority (WASA)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ref No&lt;/strong&gt;: &lt;code&gt;W.T.C. - 40/2026&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Line of Business&lt;/strong&gt;: 72102100 - Pest Control&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Crucial Deadlines&lt;/strong&gt;: ITT publication, Mandatory Pre-Bid Site Visit (August 4 @ 10:00 AM), 2-day advance attendee registration notice, queries deadline, and closing deadline (August 26 @ 2:00 PM).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Immediate Action&lt;/strong&gt;: Automatically drafts a formal document request email addressed to &lt;code&gt;purchasingandstores@agency.gov.tt&lt;/code&gt; for Oracle ERP issuance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Stage 2: Full RFP Compliance Matrix
&lt;/h3&gt;

&lt;p&gt;Once the contractor receives access to the 50–100 page RFP package, they forward the document or drop it onto the TenderLens secure upload portal. &lt;/p&gt;

&lt;p&gt;TenderLens scans the document and isolates every mandatory clause with &lt;strong&gt;exact page citations&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Valid BIR Tax Clearance&lt;/strong&gt; (Page 3 — ⚠️ &lt;em&gt;5-10 day lead-time warning&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Valid NIS Compliance Certificate&lt;/strong&gt; (Page 3 — ⚠️ &lt;em&gt;3-5 day lead-time&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;VAT Clearance Certificate&lt;/strong&gt; (Page 3)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bid Security / Tender Bond of TT$50,000&lt;/strong&gt; (Page 4)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mandatory Site Visit Certificate&lt;/strong&gt; (Page 2)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Stage 3: Proactive Follow-Through (The Differentiator)
&lt;/h3&gt;

&lt;p&gt;Deterministic code, not LLM memory, controls follow-through. Using &lt;strong&gt;Temporal durable workflows&lt;/strong&gt;, TenderLens maintains a multi-week timer loop.&lt;/p&gt;

&lt;p&gt;If the contractor hasn't confirmed their BIR certificate with 10 days to go, TenderLens initiates a proactive WhatsApp check-in:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"TenderLens Check-in for W.T.C. - 40/2026: Your BIR Tax Clearance Certificate is still marked as outstanding. IRD typically requires 5–10 business days for processing. Have you submitted your application? Reply: Done, Waiting on IRD, or Need help."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;When the contractor replies &lt;em&gt;"Waiting on IRD"&lt;/em&gt;, the Temporal workflow updates state and reschedules the next check-in.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Architecture: Why Open Innovation Matters
&lt;/h2&gt;

&lt;p&gt;Tender preparation requires commercial confidentiality. Contractors are handling sensitive pricing, tax clearance documents, banking credentials, and proprietary methodology. Uploading these indiscriminately to closed, multi-tenant proprietary chatbots raises serious privacy and data ownership concerns.&lt;/p&gt;

&lt;p&gt;By building on &lt;strong&gt;open-source AI and open-weight models&lt;/strong&gt;, TenderLens keeps costs predictable and guarantees data sovereignty.&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;graph TD
    User([Contractor on WhatsApp]) &amp;lt;--&amp;gt;|Images, PDFs, Messages| Bridge[WhatsApp Cloud API Gateway]
    Bridge &amp;lt;--&amp;gt; Agent[TenderLens Agent Core]

    subgraph Core Engine [Render Hosted Services]
        Agent &amp;lt;--&amp;gt; Tools[TenderLens Procurement Tools]
        Tools --&amp;gt; AdParser[Tender Notice Image Parser]
        Tools --&amp;gt; EmailDrafter[Procurement Request Email Drafter]
        Tools --&amp;gt; PDFParser[Full RFP Compliance Parser]
        Tools --&amp;gt; TemporalClient[Temporal Workflow Client]

        TemporalClient &amp;lt;--&amp;gt; TemporalWorker[Temporal Worker &amp;amp; Workflows]
        TemporalWorker --&amp;gt; DB[(Managed PostgreSQL)]
    end

    subgraph AI Inference Layer
        Agent &amp;lt;--&amp;gt; Gemma[Google Gemma 2 Open-Weight LLM]
    end

    TemporalWorker --&amp;gt;|Scheduled Proactive Check-ins &amp;amp; Alerts| Bridge&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  The Stack Breakdown:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;LLM Engine&lt;/strong&gt;: &lt;strong&gt;Gemma&lt;/strong&gt; by Google — open-weight inference handling dense procurement clauses, date reasoning, and multilingual local nuance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent Harness&lt;/strong&gt;: &lt;strong&gt;TenderLens Agent&lt;/strong&gt; function-calling patterns with 6 registered procurement tools.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Orchestration&lt;/strong&gt;: &lt;strong&gt;Temporal Durable Workflows&lt;/strong&gt; (&lt;code&gt;TenderFollowThroughWorkflow&lt;/code&gt;) managing multi-week timers, signals, and queries that survive server restarts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hosting &amp;amp; Database&lt;/strong&gt;: &lt;strong&gt;Render Blueprint&lt;/strong&gt; (&lt;code&gt;render.yaml&lt;/code&gt;) automating deployment of the FastAPI Web Gateway, Temporal Worker, and Managed PostgreSQL database.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security&lt;/strong&gt;: &lt;strong&gt;HMAC-SHA256 Signed Magic Upload Tokens&lt;/strong&gt; with short TTL for secure drag-and-drop uploads of packages &amp;gt;100 MB.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  5. The Commercial Side Hustle Hypothesis
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Offer&lt;/th&gt;
&lt;th&gt;Experimental Pricing&lt;/th&gt;
&lt;th&gt;Who Buys It&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Single Tender Readiness Report&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;TT$150–$250 (~$25–$35 USD)&lt;/td&gt;
&lt;td&gt;Small contractors bidding once or twice a year&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Active Bid Tracking &amp;amp; Proactive Reminders&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;TT$350–$500 (~$50–$75 USD)&lt;/td&gt;
&lt;td&gt;Subcontractors entering critical government tenders&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Monthly Unlimited Tender Retainer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;TT$800–$1,200/mo (~$120–$180 USD)&lt;/td&gt;
&lt;td&gt;Active civil, electrical, or facilities contractors&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;In conversations with local contractors in Trinidad, missing a single TT$250,000 maintenance contract because an administrative certificate expired costs thousands of times more than a TT$350 readiness check.&lt;/p&gt;




&lt;h2&gt;
  
  
  6. Live Interactive Demo (Test It Yourself!)
&lt;/h2&gt;

&lt;p&gt;To make testing instant for hackathon judges and readers without needing a WhatsApp developer sandbox, I built an &lt;strong&gt;Interactive Web WhatsApp Simulator&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Live Web Simulator&lt;/strong&gt;: &lt;a href="https://tenderlens-api-6q3t.onrender.com/" rel="noopener noreferrer"&gt;https://tenderlens-api-6q3t.onrender.com/&lt;/a&gt;&lt;br&gt;&lt;br&gt;
👉 &lt;strong&gt;Source Code&lt;/strong&gt;: &lt;a href="https://github.com/AnthonyASBaptiste/tenderlens" rel="noopener noreferrer"&gt;github.com/AnthonyASBaptiste/tenderlens&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Try clicking the 1-tap quick action buttons in the demo:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;📷 1. Send WASA Ad&lt;/code&gt;: Ingests the authentic Trinidad newspaper ad and extracts critical dates.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;✉️ 2. Request ERP Email&lt;/code&gt;: Generates the official package request email.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;📄 3. Send Full RFP&lt;/code&gt;: Parses 10 compliance items with exact page citations.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;⏰ 4. Trigger Check-in&lt;/code&gt;: Fires a simulated Temporal proactive follow-up notification.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;📊 5. Check Status&lt;/code&gt;: Displays live bid readiness score.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  7. Submission Checklist &amp;amp; Category Qualifications
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[x] &lt;strong&gt;Theme: Side Hustle&lt;/strong&gt;: Commercial B2B service for local contractors solving a quantifiable revenue problem.&lt;/li&gt;
&lt;li&gt;[x] &lt;strong&gt;Best Use of Render&lt;/strong&gt;: Complete multi-service blueprint in &lt;a href="https://github.com/AnthonyASBaptiste/tenderlens/blob/main/render.yaml" rel="noopener noreferrer"&gt;&lt;code&gt;render.yaml&lt;/code&gt;&lt;/a&gt; deploying FastAPI, Temporal background worker, and PostgreSQL.&lt;/li&gt;
&lt;li&gt;[x] &lt;strong&gt;Best Use of Gemma&lt;/strong&gt;: Powered by Google's open-weight Gemma model for procurement reasoning.&lt;/li&gt;
&lt;li&gt;[x] &lt;strong&gt;Best Use of Temporal&lt;/strong&gt;: Multi-week durable workflows managing timers, signals, and proactive check-in activities.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>hf26challenge</category>
      <category>opensource</category>
      <category>ai</category>
      <category>showdev</category>
    </item>
    <item>
      <title>SideQuest T&amp;T: Your Real Life Is the Game</title>
      <dc:creator>Anthony</dc:creator>
      <pubDate>Mon, 12 Oct 2026 03:58:22 +0000</pubDate>
      <link>https://dev.to/it0nyb/sidequest-tt-your-real-life-is-the-game-4h1e</link>
      <guid>https://dev.to/it0nyb/sidequest-tt-your-real-life-is-the-game-4h1e</guid>
      <description>&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%2Feltm30ookepb26xw5zkn.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%2Feltm30ookepb26xw5zkn.png" alt=" " width="800" height="450"&gt;&lt;/a&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;strong&gt;SideQuest T&amp;amp;T&lt;/strong&gt; turns Trinidad and Tobago into a real-world RPG map. Players browse a shared daily pool of quests, accept one, go explore, then submit a short reflection about what they observed.&lt;/p&gt;

&lt;p&gt;The app checks submissions against each quest’s criteria. If a reflection needs more detail, the player can retry; when a submission passes, the player earns XP. Quests show their criteria and safety guidance before acceptance, so players know what to look for and can choose what feels appropriate.&lt;/p&gt;

&lt;p&gt;The MVP covers Trinidad. I tested it outdoors: after adding more detail to a reflection, the verifier approved the quest and awarded 25 XP. The demo shows the generated pool, the retry and verification flow, and the points tally.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://youtube.com/shorts/ylmMdU263Y0" rel="noopener noreferrer"&gt;Watch the demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sidequest-tt.vercel.app" rel="noopener noreferrer"&gt;Open the live app&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;a href="https://github.com/AnthonyASBaptiste/sidequest-tt" rel="noopener noreferrer"&gt;SideQuest T&amp;amp;T on GitHub&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;The product uses the open-weight &lt;strong&gt;Gemma&lt;/strong&gt; model, running locally through Ollama on a home server. Gemma generates the daily quest pool and assesses submitted reflections against the accepted quest’s criteria.&lt;/p&gt;

&lt;p&gt;The React/Vite frontend is deployed on Vercel. The NestJS API is deployed on Render and manages sessions, quests, submissions, and verification results. MongoDB Atlas stores the game data. A worker on the home server connects to the API to run Gemma; the API validates the assessment before changing quest status or awarding XP. Completion and XP are applied together, so a repeated result cannot award points twice.&lt;/p&gt;

&lt;p&gt;I used GitHub Copilot during development. Copilot helped build the application; Gemma is the AI used by the running product.&lt;/p&gt;

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

&lt;p&gt;An open-weight model made it possible to run the quest generator and verifier on hardware I control, instead of making a closed hosted AI API a required part of the product. I could choose the model, connect it to a specific quest rubric, and test how it handled both an irrelevant response and a more detailed outdoor reflection.&lt;/p&gt;

&lt;p&gt;The API owns the rules for quest state and XP, while the model supplies an assessment that the API validates. The submitted reflection is processed by the app and sent to the home-server worker for inference; it is not sent directly to a third-party model API.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Best Use of Gemma&lt;/li&gt;
&lt;li&gt;Best Use of Render — the deployed NestJS API runs on Render and supports the app’s quest-verification workflow; Gemma inference runs on my home server.&lt;/li&gt;
&lt;li&gt;Best Use of MongoDB Atlas&lt;/li&gt;
&lt;li&gt;Best Use of GitHub Copilot&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>gemma</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Briefly: A Local-First, Zero-Data-Egress Filing Assistant for Legal Practice</title>
      <dc:creator>Anthony</dc:creator>
      <pubDate>Sun, 04 Oct 2026 03:03:14 +0000</pubDate>
      <link>https://dev.to/it0nyb/briefly-a-local-first-zero-data-egress-filing-assistant-for-legal-practice-11i2</link>
      <guid>https://dev.to/it0nyb/briefly-a-local-first-zero-data-egress-filing-assistant-for-legal-practice-11i2</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 wife is a practicing attorney managing an active case load. Like many legal practitioners working against tight court filing deadlines, her day-to-day workflow involves downloading court orders, disclosure bundles, witness statements, client emails, and vendor invoices directly into her local Downloads folder with the intention of filing them later.&lt;/p&gt;

&lt;p&gt;Over time, this operational bottleneck created significant administrative drag. Her Downloads directory accumulated hundreds of ambiguously named files—such as &lt;code&gt;WhatsApp Document 2026-09-14 at 11.23.pdf&lt;/code&gt;, &lt;code&gt;scan_0042.pdf&lt;/code&gt;, and generic court export names. Locating a specific pleading or affidavit before a hearing required manual searching through unstructured files, wasting valuable time and interrupting focused legal work.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;Briefly&lt;/strong&gt; to help her work smarter by automating that administrative overhead.&lt;/p&gt;

&lt;p&gt;Briefly is a lightweight, local-first document filing assistant. It monitors an inbox directory, extracts text from supported documents directly on her machine, and queries a local open-weight model to identify the corresponding legal matter and document category. High-confidence matches are filed automatically into a standardized matter directory structure. Any ambiguous, scanned, or low-confidence files remain untouched in the inbox for quick manual review.&lt;/p&gt;

&lt;h3&gt;
  
  
  Handing It Over: Her Real-World Feedback &amp;amp; Immediate Iteration
&lt;/h3&gt;

&lt;p&gt;The challenge prompt specifically notes: &lt;em&gt;"Bonus points if you actually hand it over and tell us what they said."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When I deployed Briefly on my wife's machine with her actual workflow documents, her immediate feedback drove two crucial product insights:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Eliminating Cognitive Friction (Minutes vs. Seconds):&lt;/strong&gt;
When she opened the settings dialog and saw the cooldown timer configured in seconds, she gave immediate, practical feedback:
&amp;gt; &lt;em&gt;"I entered 30 mins but is moving stuff in less than a minute. What's going on with this?"&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's when I realized I was having her enter the cooldown as an integer in seconds but she thought she needed to use minutes.&lt;/p&gt;

&lt;p&gt;She was completely right. Engineers think in seconds; busy professionals think in minutes. I immediately adjusted the interface to present standardized minute presets (1 min, 5 min, 10 min, 15 min, 30 min, 1 hr) while managing the underlying seconds conversion transparently in the background.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Validating the Data Model (The Matter Search Request):&lt;/strong&gt;
Once Briefly completed the first-pass discovery and organized her scattered documents into clean matter folders, she clicked through the directory tree and asked:
&amp;gt; &lt;em&gt;"This is well organized. Can I now search for specific keywords across all the documents inside this matter?"&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In product development, a user requesting search across newly organized data is strong confirmation that the foundational organization problem has been solved. She immediately trusted the matter hierarchy and saw it as an operational asset. While cross-document indexing was out of scope for a weekend MVP, it validated the underlying folder architecture and established our roadmap for version 2.&lt;/p&gt;

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

&lt;p&gt;Here is a walkthrough of Briefly running locally:&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/WL6ZBaTnvNo" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Per the challenge announcement's invitation to use ElevenLabs for video narration, the walkthrough audio was generated using **ElevenLabs&lt;/em&gt;&lt;em&gt;.&lt;/em&gt;&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%2Fz1yu6pra54tduwf8hyy0.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%2Fz1yu6pra54tduwf8hyy0.png" alt="Briefly Local Dashboard" width="800" height="529"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Core Workflow:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;First-Pass Collective Discovery&lt;/strong&gt;: When starting with an unorganized inbox and an empty library, Briefly analyzes the document batch collectively to propose canonical matter folder names (e.g., &lt;em&gt;Marcus Sterling v Gopaul &amp;amp; Colfire&lt;/em&gt;, &lt;em&gt;Estate of Joseph Ramdial&lt;/em&gt;). It never creates directories or moves files without explicit user confirmation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deterministic Classification &amp;amp; Filing&lt;/strong&gt;: Validated legal files are routed into standardized subdirectories: &lt;code&gt;Pleadings&lt;/code&gt;, &lt;code&gt;Correspondence&lt;/code&gt;, &lt;code&gt;Disclosures&lt;/code&gt;, &lt;code&gt;Orders&lt;/code&gt;, and &lt;code&gt;Evidence&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Non-Case Document Routing&lt;/strong&gt;: Non-legal receipts, tickets, and personal office files can be excluded with a single click, moving them directly to &lt;code&gt;~/Documents&lt;/code&gt; so they do not clutter future reviews.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safety Defaults&lt;/strong&gt;: Files are never deleted. Active browser downloads are protected by cooldown timers, and name collisions are resolved automatically using timestamped suffixes.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;Briefly is open-source under the MIT license:&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/AnthonyASBaptiste" rel="noopener noreferrer"&gt;
        AnthonyASBaptiste
      &lt;/a&gt; / &lt;a href="https://github.com/AnthonyASBaptiste/briefly" rel="noopener noreferrer"&gt;
        briefly
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Briefly&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;A local-first filing assistant for legal work.&lt;/strong&gt; Briefly watches a folder, reads supported documents on your machine, asks an open-weight model to identify the matter and document type, and files only clear matches. Everything uncertain stays where it is for review.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Weekend MVP for DEV's Build for a Friend challenge. Built around a lawyer's real habit: download now, file later.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What works in this MVP&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Local browser dashboard served by Python; no account, cloud service, or telemetry.&lt;/li&gt;
&lt;li&gt;Configurable inbox and matter library, cooldown, file type allow/exclude lists, and confidence threshold.&lt;/li&gt;
&lt;li&gt;PDF, DOCX, TXT, and Markdown text extraction. Scanned PDFs are recognized as unsupported without optional OCR; no silent guess based on an empty extraction.&lt;/li&gt;
&lt;li&gt;Local Ollama chat API with Gemma (or another locally installed model), constrained JSON output.&lt;/li&gt;
&lt;li&gt;High-confidence files are moved into an existing matter folder and document-type subfolder. Low-confidence and unassigned documents remain in the inbox and…&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/AnthonyASBaptiste/briefly" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  Quickstart (Running Locally)
&lt;/h3&gt;

&lt;p&gt;Requirements: Python 3.10+ (Standard Library only — zero pip dependencies) and a local &lt;a href="https://ollama.com/" rel="noopener noreferrer"&gt;Ollama&lt;/a&gt; instance.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# 1. Pull the model locally&lt;/span&gt;
ollama pull gemma4:e2b-it-qat

&lt;span class="c"&gt;# 2. Run Briefly&lt;/span&gt;
python3 briefly.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Access the dashboard at &lt;code&gt;http://127.0.0.1:8765&lt;/code&gt;.&lt;/p&gt;

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

&lt;p&gt;Briefly was architected around two core engineering principles: &lt;strong&gt;complete local execution&lt;/strong&gt; and &lt;strong&gt;standard library minimalism&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Local Open-Weight Inference with Google Gemma
&lt;/h3&gt;

&lt;p&gt;Inference is executed strictly against local Ollama (&lt;code&gt;http://127.0.0.1:11434&lt;/code&gt;) using Google's open-weight &lt;strong&gt;Gemma 4&lt;/strong&gt; (&lt;code&gt;gemma4:e2b-it-qat&lt;/code&gt;). &lt;/p&gt;

&lt;p&gt;We specifically evaluated this quantized Gemma 4 model to match her everyday laptop specifications, achieving deterministic structured JSON output in approximately 2 seconds per document without excessive thermal throttling or memory pressure. Briefly enforces a strict JSON schema so classifications map deterministically to verified matters:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"matter"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Marcus Sterling v Gopaul &amp;amp; Colfire"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"document_type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Pleadings"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"confidence"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;0.94&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"reason"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"High Court claim form identifying collision dispute between named parties."&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Briefly is also model-agnostic: practitioners with high-end desktop workstations or dedicated GPUs can specify larger local models (such as Gemma 4 27B or Llama 3.3) directly in the settings panel without modifying code.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Trap 1: The "Where Did My File Go?!" Race Condition
&lt;/h3&gt;

&lt;p&gt;If an attorney downloads an affidavit to attach to an outgoing email, and a background watcher immediately moves it 30 seconds later, that automation disrupts active work.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Implementation&lt;/strong&gt;: Background file watching is disabled by default (&lt;code&gt;watch_enabled: false&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cooldown Protection&lt;/strong&gt;: When automated watching is enabled, files are protected by a configurable cooldown timer (&lt;code&gt;cooldown_seconds&lt;/code&gt;). Newly downloaded files remain accessible in the inbox while actively in use.&lt;/li&gt;
&lt;li&gt;Documents are only evaluated after the cooldown period elapses, or when the user initiates a manual scan.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Trap 2: The Parsing Quagmire
&lt;/h3&gt;

&lt;p&gt;Legal files are rarely uniform. They include scanned raster PDFs without text layers, encrypted court bundles, nested &lt;code&gt;.zip&lt;/code&gt; archives, and corrupt DOCX files.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implemented a 50 MB file size ceiling to prevent memory exhaustion.&lt;/li&gt;
&lt;li&gt;Added decompression size validation (&lt;code&gt;info.file_size &amp;lt;= MAX_FILE_SIZE&lt;/code&gt;) on DOCX XML streams to protect against zip bombs.&lt;/li&gt;
&lt;li&gt;Integrated &lt;code&gt;pdftotext&lt;/code&gt; with password-protected PDF detection and empty text validation, routing unsupported files to the review queue without failing the pipeline.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Trap 3: Hallucinated Directory Trees
&lt;/h3&gt;

&lt;p&gt;If an LLM invents subtle variations of a matter name across runs (&lt;em&gt;Smith v. Jones&lt;/em&gt;, &lt;em&gt;Smith_vs_Jones&lt;/em&gt;, &lt;em&gt;Smith v Jones (2024)&lt;/em&gt;), the local directory structure quickly fragments.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implemented a closed-world schema where the model selects only from existing, validated matter directories.&lt;/li&gt;
&lt;li&gt;Designed &lt;code&gt;canonical_matter_key&lt;/code&gt; normalization that strips punctuation, legal particles (&lt;code&gt;v.&lt;/code&gt;, &lt;code&gt;vs.&lt;/code&gt;, &lt;code&gt;versus&lt;/code&gt;), and whitespace variations into a single canonical identifier before any filesystem interaction.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. Crash-Proof Subprocess Isolation
&lt;/h3&gt;

&lt;p&gt;To eliminate GUI driver conflicts (&lt;code&gt;epoll_ctl&lt;/code&gt; errors and segmentation faults caused by running Tkinter within a multi-threaded web server), system folder pickers are executed in isolated child processes (&lt;code&gt;osascript&lt;/code&gt; on macOS, &lt;code&gt;zenity&lt;/code&gt;/&lt;code&gt;kdialog&lt;/code&gt; on Linux).&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Local SQLite Audit Trail
&lt;/h3&gt;

&lt;p&gt;All classification events, confidence scores, and filing destinations are recorded in a local SQLite database (&lt;code&gt;activity&lt;/code&gt; table), providing a complete, auditable operational log.&lt;/p&gt;

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

&lt;p&gt;In legal practice, &lt;strong&gt;attorney-client privilege and confidentiality are strict professional mandates, not operational preferences&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Transmitting unredacted court pleadings, financial affidavits, or trade secrets across commercial cloud AI APIs risks waiving privilege under professional conduct rules. Cloud AI terms often permit telemetry collection or model retraining, which constitutes an unacceptable disclosure liability for any legal practitioner.&lt;/p&gt;

&lt;p&gt;Open innovation provides the only compliant architecture for this domain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Zero Data Egress&lt;/strong&gt;: Because models like Google Gemma are open-weight, all inference runs in local memory on the practitioner's machine (&lt;code&gt;127.0.0.1&lt;/code&gt;). No document text or metadata ever leaves the device.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Operational Independence&lt;/strong&gt;: Open-source systems insulate professional practices from proprietary subscription lock-in, forced cloud migrations, or sudden API deprecation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verifiable Auditability&lt;/strong&gt;: Open code paired with local weights allows practitioners to verify exactly how confidential client data is handled.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For high-trust professions—law, medicine, and accounting—&lt;strong&gt;open-weight models are not merely an alternative; they represent the only ethical and compliant deployment model.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;This project was developed using a multi-agent pair-programming workflow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Codex CLI&lt;/strong&gt;: Used for initial project scaffolding, CLI argument handling, and standard library HTTP server structure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google Antigravity&lt;/strong&gt;: Used for architectural planning, implementing the safety safeguards (cooldown timers, bounded parsing, canonical matter reconciliation), generating the 21-document synthetic legal test corpus, conducting accessibility design reviews, and performing defensive adversarial security audits.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test-Driven Verification&lt;/strong&gt;: Antigravity engineered and verified our automated test suite across 40 unit tests (&lt;code&gt;tests/test_briefly.py&lt;/code&gt;), covering concurrency, zip bomb mitigation, host header rebinding protection, and subprocess isolation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;(Note: Raw session transcripts were audited locally and kept private to protect local system paths and environment configuration).&lt;/em&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Best Use of Gemma&lt;/strong&gt; (Featured Category)&lt;br&gt;&lt;br&gt;
Briefly utilizes Google's open-weight &lt;strong&gt;Gemma 4&lt;/strong&gt; (&lt;code&gt;gemma4:e2b-it-qat&lt;/code&gt;) running locally via Ollama as its core intelligence layer. Gemma 4 performs document classification, matter assignment, and collective multi-document reasoning for first-pass discovery, ensuring complete privacy and compliance with legal confidentiality requirements.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Best Use of ElevenLabs&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The Hacktoberfest challenge announcement specifically invited competitors to use ElevenLabs for demo video voiceover narration. We used &lt;strong&gt;ElevenLabs&lt;/strong&gt; to produce the voiceover for our technical walkthrough, generating clear, professional audio that effectively communicates the problem space, architectural safeguards, and live filing workflows.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




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