<?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: Mahil Saily</title>
    <description>The latest articles on DEV Community by Mahil Saily (@mahil_1330).</description>
    <link>https://dev.to/mahil_1330</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%2F4103002%2Fae4fd3fa-8748-4da2-a183-8c24219d20c4.png</url>
      <title>DEV Community: Mahil Saily</title>
      <link>https://dev.to/mahil_1330</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mahil_1330"/>
    <language>en</language>
    <item>
      <title>Sloth Agent — the open-source AI agent that works while you laze</title>
      <dc:creator>Mahil Saily</dc:creator>
      <pubDate>Sat, 24 Oct 2026 12:43:12 +0000</pubDate>
      <link>https://dev.to/mahil_1330/sloth-agent-the-open-source-ai-agent-that-works-while-you-laze-3gjg</link>
      <guid>https://dev.to/mahil_1330/sloth-agent-the-open-source-ai-agent-that-works-while-you-laze-3gjg</guid>
      <description>&lt;p&gt;This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady&lt;/p&gt;

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

&lt;p&gt;Sloth Agent — an open-source AI automation agent that does your overnight chores so you can keep lazing. It reads your inbox/group chats and hands you a two-line morning summary, sorts and archives your messy files, and forecasts or classifies from your CSVs using TabPFN. All of it runs on open-weight models (Gemma) on your own machine — no API keys, no subscriptions, no internet required after download.&lt;/p&gt;

&lt;p&gt;Repo: mahilsaily306-max/sloth-agent&lt;/p&gt;

&lt;p&gt;Demo&lt;/p&gt;

&lt;p&gt;Deployed frontend: (link goes here — render / digitalocean / .tech domain)&lt;/p&gt;

&lt;p&gt;Demo video: (link goes here)&lt;/p&gt;

&lt;p&gt;Core flows, one click each:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Overnight Summary → two-line summary of last night's messages&lt;/li&gt;
&lt;li&gt;Tidy Files → sort/rename/archive by type (dry-run safe by default)&lt;/li&gt;
&lt;li&gt;Predict (TabPFN) → forecast/classify from a CSV&lt;/li&gt;
&lt;li&gt;Chat (Gemma) → local open-weight model conversation&lt;/li&gt;
&lt;li&gt;Full Overnight Run → summarize + tidy + predict in a single call&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Code&lt;/p&gt;

&lt;p&gt;mahilsaily306-max/sloth-agent&lt;/p&gt;

&lt;p&gt;Key files:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;backend/models/gemma.py — Gemma open-weight model (Ollama / transformers / stub)&lt;/li&gt;
&lt;li&gt;backend/models/tabpfn.py — TabPFN tabular foundation model (sklearn fallback)&lt;/li&gt;
&lt;li&gt;backend/agents/sloth_agent.py — the agent: summarize, tidy, predict, overnight&lt;/li&gt;
&lt;li&gt;backend/temporal/workflows.py — durable Temporal workflow (retries, resume)&lt;/li&gt;
&lt;li&gt;backend/sentry_config.py — Sentry agent tracing (latency, tokens, cost)&lt;/li&gt;
&lt;li&gt;integrations/integrations.ts — SDK wrappers for all 20 partner categories&lt;/li&gt;
&lt;li&gt;.github/workflows/ci.yml — GitHub Actions CI (Copilot-reviewed)&lt;/li&gt;
&lt;li&gt;render.yaml — Render hosting config&lt;/li&gt;
&lt;li&gt;backend/tests/smoke_test.py — zero-dependency smoke tests (passing)&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Open-source AI at every layer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Runtime: Gemma (open-weight) via Ollama or Hugging Face transformers; falls back to a deterministic stub so the project runs with zero ML installs.&lt;/li&gt;
&lt;li&gt;Tabular prediction: TabPFN-3.5 (Prior Labs) for CSV forecasting; sklearn fallback if TabPFN isn't installed.&lt;/li&gt;
&lt;li&gt;Orchestration: Mastra-style agent pattern over open models with tools and memory.&lt;/li&gt;
&lt;li&gt;Durability: Temporal workflow wraps the overnight run so it survives failures and resumes where it left off.&lt;/li&gt;
&lt;li&gt;Tracing: Sentry captures agent setup, latency, tokens, cost, and errors.&lt;/li&gt;
&lt;li&gt;Frontend: Single-file HTML/JS dashboard calling the FastAPI backend.&lt;/li&gt;
&lt;li&gt;CI: GitHub Actions lint + smoke tests on every PR.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Running open-weight models locally means:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;No internet needed. Gemma + TabPFN run on a laptop offline after download. A closed API agent would stop working without connectivity.&lt;/li&gt;
&lt;li&gt;Data stays on your machine. Your messages, files, and CSVs are never uploaded to a server you don't control.&lt;/li&gt;
&lt;li&gt;Set up once, never pay again. Open-weight models cost $0 to run locally — no per-token charges, no subscriptions.&lt;/li&gt;
&lt;li&gt;Swap models freely. Swap Gemma for Mistral, Llama, or any open weight; swap TabPFN for another tabular model. Closed APIs lock you into one vendor.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The open-based approach worked better here because this is a personal automation agent — privacy, offline use, and zero recurring cost matter more than a hosted SaaS.&lt;/p&gt;

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

&lt;p&gt;Saved with DevRelay and embedded below (Entire prize category: share the agent sessions behind your project).&lt;/p&gt;

&lt;p&gt;(agent_session embed link goes here)&lt;/p&gt;

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

&lt;p&gt;Before Sloth Agent, you'd wake up, scroll through last night's group chat, dig through a messy downloads folder, and manually open spreadsheets to forecast — maybe 15–20 minutes of drudgery.&lt;/p&gt;

&lt;p&gt;After: one overnight call runs while you sleep. Morning summary in two lines, files already sorted, CSV prediction ready. The agent does the work so you don't have to — and it runs for $0 on your own hardware.&lt;/p&gt;

&lt;p&gt;Prize Categories&lt;/p&gt;

&lt;p&gt;Entering every applicable partner category:&lt;/p&gt;

&lt;p&gt;Featured : Gemma, TabPFN, Render, DigitalOcean, Tinker, Arduino&lt;/p&gt;

&lt;p&gt;Partner : Mastra, Sentry, Temporal, MongoDB Atlas, SerpApi, Browserbase, ElevenLabs, Auth0, Backboard, Entire, GitHub Copilot, .tech Domains, Tiger Data, Ultramarine&lt;/p&gt;

&lt;p&gt;Each integration is coded in integrations/integrations.ts or configured (render.yaml, ci.yml) and documented in docs/.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>InvoiceSorter: An Open-Source AI Side Hustle for Freelancers 💸🤖</title>
      <dc:creator>Mahil Saily</dc:creator>
      <pubDate>Tue, 13 Oct 2026 18:23:04 +0000</pubDate>
      <link>https://dev.to/mahil_1330/invoicesorter-an-open-source-ai-side-hustle-for-freelancers-31l1</link>
      <guid>https://dev.to/mahil_1330/invoicesorter-an-open-source-ai-side-hustle-for-freelancers-31l1</guid>
      <description>&lt;p&gt;This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle&lt;/p&gt;

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

&lt;p&gt;I built InvoiceSorter, an open-source AI-powered tool designed to help freelancers, independent professionals, and small businesses organize their invoices and receipts more efficiently.&lt;/p&gt;

&lt;p&gt;Managing invoices manually can be time-consuming. Important details such as vendor names, dates, amounts, and expense categories often need to be entered by hand. InvoiceSorter aims to simplify this process by automatically extracting information from invoice and receipt images, categorizing expenses, and exporting the results into CSV files.&lt;/p&gt;

&lt;p&gt;Key Features&lt;/p&gt;

&lt;p&gt;🧾 Automatic text extraction: Uses Tesseract OCR to extract text from invoice and receipt images.&lt;/p&gt;

&lt;p&gt;🧠 Intelligent information extraction: Uses spaCy NLP to identify important details such as vendors, dates, and monetary amounts.&lt;/p&gt;

&lt;p&gt;📂 Expense categorization: Organizes expenses into categories such as supplies, travel, utilities, software, and meals.&lt;/p&gt;

&lt;p&gt;📊 CSV export: Makes processed invoice data easier to review and import into accounting workflows.&lt;/p&gt;

&lt;p&gt;🔒 Privacy-focused processing: Supports local processing so sensitive financial documents can stay on your computer.&lt;/p&gt;

&lt;p&gt;⚡ Batch processing: Processes multiple invoice images instead of requiring every document to be handled individually.&lt;/p&gt;

&lt;p&gt;🛠️ Open-source and customizable: Developers can adapt the tool to their own invoice formats and business needs.&lt;/p&gt;

&lt;p&gt;Who Is It For?&lt;/p&gt;

&lt;p&gt;InvoiceSorter is designed for freelancers, solo entrepreneurs, small businesses, and independent bookkeepers who want to spend less time organizing financial documents.&lt;/p&gt;

&lt;p&gt;The potential side-hustle opportunity is to offer invoice automation, expense organization, and customized document-processing solutions to small businesses that cannot justify expensive accounting automation software.&lt;/p&gt;

&lt;p&gt;My goal is to make useful AI-powered automation accessible without requiring every user to depend on a costly, closed AI service.&lt;/p&gt;

&lt;p&gt;Demo&lt;/p&gt;

&lt;p&gt;GitHub Repository:&lt;br&gt;
&lt;a href="https://github.com/mahilsaily306-max/hacktoberfest-ai-sidehustle" rel="noopener noreferrer"&gt;https://github.com/mahilsaily306-max/hacktoberfest-ai-sidehustle&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository includes the source code, setup instructions, dependencies, and example command-line workflows.&lt;/p&gt;

&lt;p&gt;A live deployed demo or video demonstration is not available to share here yet. I plan to demonstrate the workflow by processing an invoice image and showing the resulting structured CSV output.&lt;/p&gt;

&lt;p&gt;Code&lt;/p&gt;

&lt;p&gt;Explore the complete source code here:&lt;/p&gt;

&lt;p&gt;🔗 InvoiceSorter on GitHub&lt;/p&gt;

&lt;p&gt;The project is written in Python and includes OCR-based extraction, NLP-based information identification, expense categorization, and CSV export functionality.&lt;/p&gt;

&lt;p&gt;To get started:&lt;/p&gt;

&lt;p&gt;git clone &lt;a href="https://github.com/mahilsaily306-max/hacktoberfest-ai-sidehustle.git" rel="noopener noreferrer"&gt;https://github.com/mahilsaily306-max/hacktoberfest-ai-sidehustle.git&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;cd hacktoberfest-ai-sidehustle&lt;/p&gt;

&lt;p&gt;python -m venv venv&lt;/p&gt;

&lt;p&gt;Activate the virtual environment and install the dependencies:&lt;/p&gt;

&lt;h1&gt;
  
  
  Windows
&lt;/h1&gt;

&lt;p&gt;venv\Scripts\activate&lt;/p&gt;

&lt;h1&gt;
  
  
  Install dependencies
&lt;/h1&gt;

&lt;p&gt;pip install -r requirements.txt&lt;/p&gt;

&lt;h1&gt;
  
  
  Download the spaCy English model
&lt;/h1&gt;

&lt;p&gt;python -m spacy download en_core_web_sm&lt;/p&gt;

&lt;p&gt;Install Tesseract OCR separately and ensure it is available on your system PATH.&lt;/p&gt;

&lt;p&gt;To process an invoice image:&lt;/p&gt;

&lt;p&gt;python -m invoicesorter.process \&lt;br&gt;
  --image path/to/invoice.jpg \&lt;br&gt;
  --output sorted_invoice.csv&lt;/p&gt;

&lt;p&gt;For batch processing:&lt;/p&gt;

&lt;p&gt;python -m invoicesorter.batch \&lt;br&gt;
  --input-dir path/to/invoices/ \&lt;br&gt;
  --output-dir path/to/sorted/&lt;/p&gt;

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

&lt;p&gt;I built InvoiceSorter using Python and a combination of open-source tools for document processing and natural language understanding.&lt;/p&gt;

&lt;p&gt;The core technologies include:&lt;/p&gt;

&lt;p&gt;Tesseract OCR: Extracts text from invoice and receipt images.&lt;/p&gt;

&lt;p&gt;spaCy: Helps identify important information in extracted text.&lt;/p&gt;

&lt;p&gt;Pillow: Supports image processing.&lt;/p&gt;

&lt;p&gt;pandas: Organizes and exports extracted information into CSV files.&lt;/p&gt;

&lt;p&gt;Flask: Provides a web interface for interacting with the application.&lt;/p&gt;

&lt;p&gt;The project also documents optional integrations for additional capabilities, including semantic search, expense prediction, monitoring, and workflow orchestration.&lt;/p&gt;

&lt;p&gt;The basic workflow is:&lt;/p&gt;

&lt;p&gt;The user provides an invoice or receipt image.&lt;/p&gt;

&lt;p&gt;Tesseract OCR extracts the text.&lt;/p&gt;

&lt;p&gt;spaCy and pattern-matching logic identify relevant financial information.&lt;/p&gt;

&lt;p&gt;Expense categorization rules organize the extracted information.&lt;/p&gt;

&lt;p&gt;The processed data is exported into a structured CSV file.&lt;/p&gt;

&lt;p&gt;I focused on building a practical tool that combines existing open-source technologies into a useful workflow rather than relying entirely on a single proprietary AI API.&lt;/p&gt;

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

&lt;p&gt;Open innovation matters because financial automation should not be available only to businesses that can afford expensive subscriptions or proprietary AI services.&lt;/p&gt;

&lt;p&gt;For InvoiceSorter, open-source technology makes several things possible:&lt;/p&gt;

&lt;p&gt;Privacy and control: Users can process documents locally instead of automatically sending sensitive financial information to an external AI provider.&lt;/p&gt;

&lt;p&gt;Lower operating costs: The core workflow can run locally without per-request fees from a hosted AI API.&lt;/p&gt;

&lt;p&gt;Transparency: Developers can inspect the code, understand the processing pipeline, and improve its behavior.&lt;/p&gt;

&lt;p&gt;Customization: The project can be adapted to different invoice formats, expense categories, and business workflows.&lt;/p&gt;

&lt;p&gt;Freedom from vendor lock-in: Components can be replaced as requirements change.&lt;/p&gt;

&lt;p&gt;Community-driven improvement: Contributors can add features, fix bugs, improve extraction accuracy, and help make the tool more useful.&lt;/p&gt;

&lt;p&gt;A closed API might provide a convenient starting point, but open-source components give developers greater control over how the system works and where financial data is processed.&lt;/p&gt;

&lt;p&gt;That is the kind of innovation I want to encourage: building practical AI tools that people can inspect, modify, run, and improve together.&lt;/p&gt;

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

&lt;p&gt;I don't have a public DevRelay agent session to share yet.&lt;/p&gt;

&lt;p&gt;If I publish a session showing how I developed InvoiceSorter, I will add the session link here.&lt;/p&gt;

&lt;p&gt;Prize Categories&lt;/p&gt;

&lt;p&gt;I am submitting InvoiceSorter for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle.&lt;/p&gt;

&lt;p&gt;The project's focus is on practical AI automation, open-source tooling, and a potential productivity solution for freelancers and small businesses.&lt;/p&gt;

&lt;p&gt;I will update this section if I confirm additional eligible partner categories.&lt;/p&gt;

&lt;p&gt;Building InvoiceSorter has been an opportunity to explore how open-source AI can solve everyday business problems while keeping tools accessible and customizable.&lt;/p&gt;

&lt;p&gt;If you're interested in Python, OCR, NLP, or document automation, contributions and feedback are welcome!&lt;/p&gt;

&lt;p&gt;⭐ Check out the project: &lt;a href="https://github.com/mahilsaily306-max/hacktoberfest-ai-sidehustle" rel="noopener noreferrer"&gt;https://github.com/mahilsaily306-max/hacktoberfest-ai-sidehustle&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Hacktoberfest #OpenSource #AI #Python #SideHustle #OCR #NLP
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>I Built an AI That Wants You to Stop Using It — Meet VERDA 🌿</title>
      <dc:creator>Mahil Saily</dc:creator>
      <pubDate>Thu, 08 Oct 2026 12:26:37 +0000</pubDate>
      <link>https://dev.to/mahil_1330/i-built-an-ai-that-wants-you-to-stop-using-it-meet-verda-33h4</link>
      <guid>https://dev.to/mahil_1330/i-built-an-ai-that-wants-you-to-stop-using-it-meet-verda-33h4</guid>
      <description>&lt;p&gt;&lt;strong&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;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;I built &lt;strong&gt;VERDA — AI that gets out of your way.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most AI applications are designed to keep us on the screen: more messages, more prompts, more scrolling, more time inside the app.&lt;/p&gt;

&lt;p&gt;VERDA takes the opposite approach.&lt;/p&gt;

&lt;p&gt;It is a mobile-first outdoor companion that uses AI to create a short, personalized outdoor mission and then deliberately reduces the user's interaction with the phone.&lt;/p&gt;

&lt;p&gt;The core experience is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Choose an activity → AI creates a mission → Start → Screen-Away Mode → Go outside → Record discoveries → AI reflection → Outdoor journal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A user can choose activities such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Nature Walk&lt;/li&gt;
&lt;li&gt;Trail Run&lt;/li&gt;
&lt;li&gt;Urban / Trail Explore&lt;/li&gt;
&lt;li&gt;Birding &amp;amp; Audio&lt;/li&gt;
&lt;li&gt;Gardening &amp;amp; Soil&lt;/li&gt;
&lt;li&gt;Micro-Texture Discovery&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They can choose a duration of 15, 30, 45, or 60 minutes and select a difficulty level. VERDA then creates structured sensory objectives designed around that activity and context.&lt;/p&gt;

&lt;p&gt;Once the mission begins, VERDA enters &lt;strong&gt;Screen-Away Mode&lt;/strong&gt; with a large, minimal countdown and the message:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Your phone isn't needed right now. Go explore.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The idea is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The AI creates the reason. The user leaves the screen. The real world becomes the interface.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;After the activity, the user can record discoveries through photos, text, or voice notes. VERDA then creates a structured AI reflection and stores the experience in a personal outdoor journal.&lt;/p&gt;

&lt;p&gt;The application also includes mission history, authentic outdoor streaks, outdoor-minute statistics, and locally stored discoveries.&lt;/p&gt;

&lt;h1&gt;
  
  
  Demo
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;GitHub Repository:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/mahilsaily306-max/outdoor-discovery-tracker" rel="noopener noreferrer"&gt;https://github.com/mahilsaily306-max/outdoor-discovery-tracker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository includes a zero-configuration DemoProvider so the core VERDA experience can be explored without API keys or an external AI service.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Demo video / deployed app:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Add the deployed URL or demo video here if available.&lt;/em&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  Code
&lt;/h1&gt;

&lt;p&gt;The complete source code is open source:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/mahilsaily306-max/outdoor-discovery-tracker" rel="noopener noreferrer"&gt;https://github.com/mahilsaily306-max/outdoor-discovery-tracker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;VERDA is built as a Next.js Progressive Web App with TypeScript, Tailwind CSS, Zod, IndexedDB, and browser-native APIs.&lt;/p&gt;
&lt;h1&gt;
  
  
  How I Built It
&lt;/h1&gt;

&lt;p&gt;The most important architectural decision was to keep the AI layer &lt;strong&gt;provider-independent&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;VERDA uses an &lt;code&gt;AIProvider&lt;/code&gt; abstraction so the application logic does not depend on one AI vendor.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                    VERDA
                      │
                AIProvider
                 /       \
                /         \
      OllamaProvider    DemoProvider
           │                  │
           ▼                  ▼
   Open-weight model    Zero-setup engine
           │                  │
           └────────┬─────────┘
                    ▼
             Zod Validation
                    ▼
           Safety Interceptor
                    ▼
              Local Storage
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Open-weight AI
&lt;/h3&gt;

&lt;p&gt;VERDA includes an &lt;strong&gt;OllamaProvider&lt;/strong&gt; for local open-weight model inference.&lt;/p&gt;

&lt;p&gt;The provider can be configured to use lightweight models such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;gemma2:2b&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;llama3.2:1b&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This keeps the AI layer replaceable instead of coupling the entire application to a single proprietary API.&lt;/p&gt;

&lt;p&gt;The application also includes a &lt;strong&gt;DemoProvider&lt;/strong&gt; that does not require Ollama, API keys, or a cloud service. It produces realistic missions and reflections through local deterministic logic so someone reviewing the project can experience the complete product flow without additional setup.&lt;/p&gt;

&lt;h3&gt;
  
  
  Structured AI
&lt;/h3&gt;

&lt;p&gt;AI-generated missions and reflections are validated using Zod schemas before being used by the application.&lt;/p&gt;

&lt;p&gt;This gives VERDA a pipeline like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;AI Output
   ↓
Schema Validation
   ↓
Safety Validation
   ↓
Application
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The application does not blindly trust free-form model output.&lt;/p&gt;

&lt;h3&gt;
  
  
  Safety
&lt;/h3&gt;

&lt;p&gt;Outdoor AI should not create dangerous challenges.&lt;/p&gt;

&lt;p&gt;VERDA includes a deterministic safety interceptor that checks generated missions and reflections for problematic instructions such as trespassing, dangerous wildlife interaction, hazardous roads, cliff edges, and severe weather situations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Local-first storage
&lt;/h3&gt;

&lt;p&gt;Missions, discoveries, photos, reflections, and history are stored in browser IndexedDB.&lt;/p&gt;

&lt;p&gt;There is no required account system or cloud database for the core experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  Browser APIs
&lt;/h3&gt;

&lt;p&gt;VERDA also uses browser capabilities where available, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Screen Wake Lock&lt;/li&gt;
&lt;li&gt;Speech Synthesis&lt;/li&gt;
&lt;li&gt;Speech Recognition&lt;/li&gt;
&lt;li&gt;Geolocation&lt;/li&gt;
&lt;li&gt;Camera capture&lt;/li&gt;
&lt;li&gt;Web Share&lt;/li&gt;
&lt;li&gt;HTML5 Canvas&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each is optional and has a fallback when browser support is unavailable.&lt;/p&gt;

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

&lt;p&gt;For an outdoor application, open AI is especially meaningful because the user may be somewhere with weak or nonexistent connectivity.&lt;/p&gt;

&lt;p&gt;With the Ollama architecture, VERDA can use an open-weight model locally instead of requiring every mission or reflection to go through a proprietary cloud API.&lt;/p&gt;

&lt;p&gt;That changes what the product can offer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Privacy
&lt;/h3&gt;

&lt;p&gt;Outdoor data can be personal.&lt;/p&gt;

&lt;p&gt;That includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Where someone spends time&lt;/li&gt;
&lt;li&gt;Their activity history&lt;/li&gt;
&lt;li&gt;Photos&lt;/li&gt;
&lt;li&gt;Voice observations&lt;/li&gt;
&lt;li&gt;Approximate location&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A local-first architecture gives users more control over that information.&lt;/p&gt;

&lt;h3&gt;
  
  
  Model Freedom
&lt;/h3&gt;

&lt;p&gt;VERDA is not designed around one permanent model.&lt;/p&gt;

&lt;p&gt;Because AI execution sits behind an &lt;code&gt;AIProvider&lt;/code&gt;, developers can experiment with different open-weight models without rewriting the product.&lt;/p&gt;

&lt;h3&gt;
  
  
  Less Vendor Lock-In
&lt;/h3&gt;

&lt;p&gt;A closed AI API can make the AI layer inseparable from one provider.&lt;/p&gt;

&lt;p&gt;VERDA instead treats the model as a replaceable component:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;VERDA
  ↓
AIProvider
  ↓
Model
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That makes it easier to experiment, benchmark, modify, and extend.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Bigger Idea
&lt;/h3&gt;

&lt;p&gt;Open innovation is not just a technical choice here.&lt;/p&gt;

&lt;p&gt;It supports the philosophy of the product itself.&lt;/p&gt;

&lt;p&gt;The AI should be something that &lt;strong&gt;helps you leave the screen&lt;/strong&gt;, not something that constantly asks for more of your attention.&lt;/p&gt;

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

&lt;p&gt;&lt;em&gt;Add the DevRelay agent session link here if available.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The session is optional, but it can show how the project was developed.&lt;/p&gt;

&lt;h1&gt;
  
  
  Prize Categories
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Best Use of Gemma&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;VERDA supports Google's open-weight &lt;strong&gt;Gemma&lt;/strong&gt; models through the Ollama provider, allowing the mission/reflection AI layer to run with an open-weight local model.&lt;/p&gt;

&lt;h1&gt;
  
  
  What's Next
&lt;/h1&gt;

&lt;p&gt;There is still room to expand VERDA with richer local vision models, stronger outdoor context, more offline capabilities, and deeper nature discovery features.&lt;/p&gt;

&lt;p&gt;The current goal was to establish the core experience:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;AI creates the mission.&lt;br&gt;&lt;br&gt;
You put the phone away.&lt;br&gt;&lt;br&gt;
You go outside.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Thanks for checking out VERDA.&lt;/p&gt;

&lt;h1&gt;
  
  
  devchallenge
&lt;/h1&gt;

&lt;h1&gt;
  
  
  hf26challenge
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Build for a Friend</title>
      <dc:creator>Mahil Saily</dc:creator>
      <pubDate>Fri, 02 Oct 2026 17:18:40 +0000</pubDate>
      <link>https://dev.to/mahil_1330/build-for-a-friend-54dm</link>
      <guid>https://dev.to/mahil_1330/build-for-a-friend-54dm</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;h2&gt;
  
  
  Demo
&lt;/h2&gt;

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

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

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

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

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

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>intro</title>
      <dc:creator>Mahil Saily</dc:creator>
      <pubDate>Fri, 02 Oct 2026 17:16:15 +0000</pubDate>
      <link>https://dev.to/mahil_1330/intro-538n</link>
      <guid>https://dev.to/mahil_1330/intro-538n</guid>
      <description>&lt;p&gt;im new to the community, happy to be a part of dev&lt;/p&gt;

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