<?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: Godly K Mathews</title>
    <description>The latest articles on DEV Community by Godly K Mathews (@godlykmathews).</description>
    <link>https://dev.to/godlykmathews</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%2F804937%2F0a70dc76-02f3-4cf5-a283-047e869a8a4b.jpg</url>
      <title>DEV Community: Godly K Mathews</title>
      <link>https://dev.to/godlykmathews</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/godlykmathews"/>
    <language>en</language>
    <item>
      <title>BatchBrief: Less Scrolling, More Baking with Local AI</title>
      <dc:creator>Godly K Mathews</dc:creator>
      <pubDate>Wed, 14 Oct 2026 17:39:02 +0000</pubDate>
      <link>https://dev.to/godlykmathews/batchbrief-less-scrolling-more-baking-with-local-ai-3lfe</link>
      <guid>https://dev.to/godlykmathews/batchbrief-less-scrolling-more-baking-with-local-ai-3lfe</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;&lt;strong&gt;BatchBrief turns messy customer conversations into reviewed bakery orders and daily preparation lists.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It’s built for home bakers who take custom orders through messages. The details arrive in pieces: a quantity, a flavor, a pickup time—and then a correction several messages later.&lt;/p&gt;

&lt;p&gt;Here’s a synthetic example used during testing:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I need 12 lemon cupcakes for pickup tomorrow at 4 pm.”&lt;br&gt;&lt;br&gt;
“Actually, make that 18.”&lt;br&gt;&lt;br&gt;
“Please change pickup to 5:30 pm.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;BatchBrief reads the conversation and creates an editable order card. It captures items, quantities, flavors, decorations, fulfillment details, and questions that still need answers.&lt;/p&gt;

&lt;p&gt;The baker reviews the original messages alongside the extracted details. Only confirmed orders enter the preparation list. Different decorations, dietary requests, and item notes remain separate when quantities are grouped.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Paste → review → confirm → prepare.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Bakers can also save incomplete drafts, edit orders, mark them completed, and export or print their daily prep list.&lt;/p&gt;

&lt;p&gt;My commercial hypothesis is that home bakers could pay for installation, setup around their menu, and support. Willingness to pay still needs validation with real users.&lt;/p&gt;

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

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

&lt;p&gt;BatchBrief runs locally. After installing Node.js 22.13 or newer and Ollama, download the model:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ollama pull qwen3:8b
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Then, from the project folder:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Open &lt;code&gt;http://127.0.0.1:4317&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The app includes clearly labeled example conversations. These populate the message box; extracting them still calls the actual local model.&lt;/p&gt;

&lt;p&gt;This first version accepts pasted text from one customer conversation at a time. It does not connect directly to WhatsApp or process voice notes.&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&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/godlykmathews" rel="noopener noreferrer"&gt;
        godlykmathews
      &lt;/a&gt; / &lt;a href="https://github.com/godlykmathews/batchbrief-hf26" rel="noopener noreferrer"&gt;
        batchbrief-hf26
      &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;BatchBrief&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;BatchBrief turns one customer's bakery order conversation into a reviewable order card and a daily prep list. A local open-weight model reads the pasted text; the baker checks the details and decides when an order is confirmed.&lt;/p&gt;

&lt;p&gt;This is a local, single-user prototype. There is no hosted demo, customer trial, paid user, or established accuracy benchmark yet.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What it does&lt;/h2&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;Extracts items, quantities, flavors, decoration requests, pickup or delivery details, and unanswered questions from pasted text.&lt;/li&gt;
&lt;li&gt;Keeps the original conversation and supporting quotes alongside the draft.&lt;/li&gt;
&lt;li&gt;Lets you correct details, save incomplete drafts, confirm reviewed orders, and mark finished orders completed.&lt;/li&gt;
&lt;li&gt;Builds the selected day's prep list from confirmed orders. Different flavors, decorations, units, and dietary notes remain separate.&lt;/li&gt;
&lt;li&gt;Exports CSV and printable views for the baker's workflow.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The MVP accepts &lt;strong&gt;text from one customer conversation at a time&lt;/strong&gt;. It does not connect to WhatsApp, ingest voice notes…&lt;/p&gt;&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/godlykmathews/batchbrief-hf26" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;The application code is MIT licensed. Model weights are downloaded separately through Ollama.&lt;/p&gt;

&lt;p&gt;The repository includes the application, setup instructions, automated tests, synthetic model-evaluation results, and a proposed first-user pilot.&lt;/p&gt;

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

&lt;p&gt;The core is &lt;strong&gt;&lt;a href="https://huggingface.co/Qwen/Qwen3-8B" rel="noopener noreferrer"&gt;Qwen3-8B&lt;/a&gt;&lt;/strong&gt;, an Apache-2.0-licensed open-weight model running locally through Ollama.&lt;/p&gt;

&lt;p&gt;The surrounding application is deliberately small:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Vanilla JavaScript, HTML, and CSS&lt;/strong&gt; for the interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Node.js&lt;/strong&gt; for the local server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SQLite&lt;/strong&gt; for saved orders and their original conversations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama structured outputs&lt;/strong&gt; for extraction into a defined JSON schema.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The model interprets the conversation. Ordinary application code validates fields, controls confirmation, stores records, and calculates preparation totals.&lt;/p&gt;

&lt;p&gt;A valid JSON response does not guarantee a correct order. An early test demonstrated that clearly: the model put an unnamed customer’s opening sentence into the name field. That led to tighter extraction instructions and a conservative validation check.&lt;/p&gt;

&lt;p&gt;BatchBrief also checks that supporting quotations occur in the source. Those checks help, but a quotation can still be attached to the wrong item. The baker’s review remains essential.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verification included:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;13 deterministic tests covering storage, validation, local-model restrictions, preparation grouping, and CSV handling.&lt;/li&gt;
&lt;li&gt;9 applicable browser scenarios across desktop and mobile emulation.&lt;/li&gt;
&lt;li&gt;5 synthetic cases using the actual local model, covering corrections, missing details, dietary requests, and pasted instructions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The five real-model cases passed their assertions after the fixes. They are regression examples, not an accuracy benchmark or a customer trial.&lt;/p&gt;

&lt;p&gt;A useful community reference was &lt;a href="https://dev.to/michael_maurice"&gt;Michael-Maurice’s&lt;/a&gt; article, &lt;a href="https://dev.to/michael_maurice/schema-valid-correct-4-checks-before-you-trust-llm-extraction-4n6f"&gt;Schema-Valid Isn’t Correct&lt;/a&gt;. Its discussion of evidence and validation informed the review workflow. &lt;a href="https://dev.to/michael_maurice/schema-valid-correct-4-checks-before-you-trust-llm-extraction-4n6f"&gt;Read the full discussion&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I used Codex to assist with implementation, testing, and this write-up.&lt;/p&gt;

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

&lt;p&gt;Open weights make local inference practical for this project. Customer messages can be processed without sending them to a hosted model API.&lt;/p&gt;

&lt;p&gt;That matters when conversations contain names, phone numbers, addresses, and personal requests. Saved records stay in the application’s local SQLite database, although exports and operating-system backups still need ordinary care.&lt;/p&gt;

&lt;p&gt;Owning the inference setup also changes the business model. Repeated extraction does not create a per-request hosted-model bill. Hardware, electricity, installation, and support still have costs, but usage is not tied to an API provider’s message pricing.&lt;/p&gt;

&lt;p&gt;The prompts and validation logic are inspectable. Another installed local model can be evaluated without rebuilding the order-management workflow.&lt;/p&gt;

&lt;p&gt;For BatchBrief, the practical advantages are &lt;strong&gt;local processing, adjustable behavior, and control over inference costs&lt;/strong&gt;. The open model performs the central task: turning an unstructured conversation into something a baker can review and use.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>An Offline RAG based Voice Assistant Built for a Friend</title>
      <dc:creator>Godly K Mathews</dc:creator>
      <pubDate>Fri, 02 Oct 2026 15:58:55 +0000</pubDate>
      <link>https://dev.to/godlykmathews/an-offline-rag-based-voice-assistant-built-for-a-friend-4ep3</link>
      <guid>https://dev.to/godlykmathews/an-offline-rag-based-voice-assistant-built-for-a-friend-4ep3</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;Fieldmate&lt;/strong&gt;, a local voice assistant with document retrieval, for my friend who works as a nurse.&lt;/p&gt;

&lt;p&gt;The problem I wanted to solve was simple: help them look things up in their documents, remember an ongoing conversation, and capture notes and tasks—even when an internet connection is unavailable.&lt;/p&gt;

&lt;p&gt;Fieldmate brings those activities into one interface:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Talk or type:&lt;/strong&gt; use push-to-talk or a hands-free mode that listens between responses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ask about documents:&lt;/strong&gt; upload PDFs, Markdown, or text files and get answers with source references.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Continue a conversation:&lt;/strong&gt; separate chat threads retain their own history and context.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Organize by subject:&lt;/strong&gt; categories such as Fieldwork, Biology, and Physics have their own instructions and document collections.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Capture work:&lt;/strong&gt; say “Save a note…” or “Add a task…” to store information locally.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Choose when to go online:&lt;/strong&gt; review and approve a proposed search query before it leaves the laptop.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The interface has two main tabs: Chat and Documents. Settings allow changes to the local model and assistant instructions.&lt;/p&gt;

&lt;p&gt;This is a working laptop prototype. Testing it with my intended recipient in their actual workflow is the next step.&lt;/p&gt;

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

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

&lt;p&gt;Fieldmate runs locally, so I recorded a video demonstrating the application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&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/godlykmathews" rel="noopener noreferrer"&gt;
        godlykmathews
      &lt;/a&gt; / &lt;a href="https://github.com/godlykmathews/Fieldmate" rel="noopener noreferrer"&gt;
        Fieldmate
      &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;Field Assistant&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://github.com/godlykmathews/Fieldmate/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/08cef40a9105b6526ca22088bc514fbfdbc9aac1ddbf8d4e6c750e3a88a44dca/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d626c75652e737667" alt="License: MIT"&gt;&lt;/a&gt;
&lt;a href="https://github.com/godlykmathews/Fieldmate/pyproject.toml" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/f3fbad4b3f8707d02c160720b479981867c2f3ec183c1ff73aae1a9fd2da75c2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f507974686f6e2d332e3132253230253743253230332e31332d626c75652e737667" alt="Python"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Fieldmate&lt;/strong&gt; is a local AI voice assistant for working with your documents, keeping conversational context, and capturing notes and tasks. It runs on your laptop using Ollama and locally stored speech models. After setup, the core workflow works offline; internet search is optional and requires approval.&lt;/p&gt;
&lt;p&gt;Built for a friend who works as a nurse, and adaptable to other document-based workflows through subject categories and custom instructions.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=TdKoUk4hte0" rel="nofollow noopener noreferrer"&gt;Watch the demo&lt;/a&gt; · &lt;a href="https://github.com/godlykmathews/Field-Assistant/issues" rel="noopener noreferrer"&gt;Report an issue&lt;/a&gt; · &lt;a href="https://github.com/godlykmathews/Fieldmate/LICENSE" rel="noopener noreferrer"&gt;MIT license&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/godlykmathews/Fieldmate/docs/fieldmate-chat-v2.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fgodlykmathews%2FFieldmate%2FHEAD%2Fdocs%2Ffieldmate-chat-v2.png" alt="Fieldmate chat interface"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Contents&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/godlykmathews/Fieldmate#features" rel="noopener noreferrer"&gt;Features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/godlykmathews/Fieldmate#requirements" rel="noopener noreferrer"&gt;Requirements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/godlykmathews/Fieldmate#installation" rel="noopener noreferrer"&gt;Installation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/godlykmathews/Fieldmate#usage" rel="noopener noreferrer"&gt;Usage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/godlykmathews/Fieldmate#configuration" rel="noopener noreferrer"&gt;Configuration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/godlykmathews/Fieldmate#architecture" rel="noopener noreferrer"&gt;Architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/godlykmathews/Fieldmate#privacy-and-limitations" rel="noopener noreferrer"&gt;Privacy and limitations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/godlykmathews/Fieldmate#development" rel="noopener noreferrer"&gt;Development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/godlykmathews/Fieldmate#contributing" rel="noopener noreferrer"&gt;Contributing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/godlykmathews/Fieldmate#troubleshooting" rel="noopener noreferrer"&gt;Troubleshooting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/godlykmathews/Fieldmate#documentation-and-acknowledgments" rel="noopener noreferrer"&gt;Documentation and acknowledgments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/godlykmathews/Fieldmate#license" rel="noopener noreferrer"&gt;License&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Local inference:&lt;/strong&gt; use compatible installed Ollama models, including Qwen and Gemma.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Document retrieval:&lt;/strong&gt; import text PDFs, Markdown, and UTF-8 text files; inspect sources and page references.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Persistent conversations:&lt;/strong&gt; create, rename, close, and reopen separate chat threads with their own context.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subject categories:&lt;/strong&gt; organize documents and instructions by topic, with shared documents available across…&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/godlykmathews/Fieldmate" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The application code uses the MIT license. Its dependencies and model weights retain their respective licenses.&lt;/p&gt;

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

&lt;p&gt;Fieldmate uses a &lt;strong&gt;FastAPI backend&lt;/strong&gt;, a lightweight &lt;strong&gt;HTML/CSS/JavaScript interface&lt;/strong&gt;, and &lt;strong&gt;SQLite&lt;/strong&gt; for persistent local storage. The backend coordinates inference, document retrieval, conversation memory, voice processing, and tool execution.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Role&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Ollama&lt;/td&gt;
&lt;td&gt;Serves local language and embedding models&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemma 4&lt;/td&gt;
&lt;td&gt;Generates responses and makes structured routing decisions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nomic Embed Text&lt;/td&gt;
&lt;td&gt;Embeds document passages and retrieval queries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SQLite&lt;/td&gt;
&lt;td&gt;Stores conversations, summaries, document vectors, notes, tasks, and search permissions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;pypdf&lt;/td&gt;
&lt;td&gt;Extracts text and page information from PDFs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;faster-whisper&lt;/td&gt;
&lt;td&gt;Transcribes microphone recordings locally&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Piper&lt;/td&gt;
&lt;td&gt;Generates spoken responses locally&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Laya&lt;/td&gt;
&lt;td&gt;Provides an advisory answer-versus-clarify signal&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DDGS&lt;/td&gt;
&lt;td&gt;Performs optional, approved DuckDuckGo searches&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Local inference and structured decisions
&lt;/h3&gt;

&lt;p&gt;The backend communicates with Ollama through its local HTTP API. It uses &lt;code&gt;/api/chat&lt;/code&gt; for generation and &lt;code&gt;/api/embed&lt;/code&gt; for embeddings.&lt;/p&gt;

&lt;p&gt;For routing and response generation, I pass &lt;strong&gt;Pydantic-generated JSON schemas&lt;/strong&gt; to Ollama’s structured-output interface. The backend validates the returned objects before using them.&lt;/p&gt;

&lt;p&gt;For example, the conversation planner returns this structure:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Plan&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;BaseModel&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;route&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Literal&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;answer&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;clarify&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;search&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Field&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;max_length&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1200&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;clarification&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Field&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;default&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;max_length&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;500&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This separates the decision about what to do from the code that performs the action. A model can propose an internet search, but that proposal cannot grant permission to execute it.&lt;/p&gt;

&lt;p&gt;Model selection is configurable. Fieldmate checks installed Ollama models and their capabilities, allowing compatible local chat models to be swapped without discarding the conversation.&lt;/p&gt;
&lt;h3&gt;
  
  
  Document ingestion and retrieval
&lt;/h3&gt;

&lt;p&gt;The ingestion pipeline works as follows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Extract text from a PDF, Markdown, or UTF-8 text file.&lt;/li&gt;
&lt;li&gt;Split it into passages of approximately &lt;strong&gt;1,600 characters&lt;/strong&gt;, with a &lt;strong&gt;30-word overlap&lt;/strong&gt; when splitting long paragraphs.&lt;/li&gt;
&lt;li&gt;Generate Nomic embeddings through Ollama.&lt;/li&gt;
&lt;li&gt;Store each passage, embedding, document identity, and page number in SQLite.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A SHA-256 digest detects duplicate document uploads. Scanned PDFs need OCR before import; this prototype extracts existing text.&lt;/p&gt;

&lt;p&gt;For retrieval, I use Nomic’s &lt;code&gt;search_document:&lt;/code&gt; prefix for passages and &lt;code&gt;search_query:&lt;/code&gt; for questions. The backend performs an exact cosine-similarity scan over the eligible stored vectors.&lt;/p&gt;

&lt;p&gt;Passages must pass a configurable similarity threshold. Their final ranking combines semantic similarity with keyword overlap:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;score = 0.8 × cosine_similarity + 0.2 × keyword_overlap
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The top five passages are supplied to the answering model. Documents can belong to a category or be shared across categories.&lt;/p&gt;

&lt;p&gt;This keeps retrieval simple enough for a laptop prototype without requiring a separate vector database service.&lt;/p&gt;
&lt;h3&gt;
  
  
  Grounding answers in evidence
&lt;/h3&gt;

&lt;p&gt;The response schema includes the answer text, its stated basis, a document-check result, and supporting quotations.&lt;/p&gt;

&lt;p&gt;When the model cites a passage, the backend checks that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The source ID belongs to the retrieved sources.&lt;/li&gt;
&lt;li&gt;The quotation occurs in that source.&lt;/li&gt;
&lt;li&gt;The reference has not been invented.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The UI then shows the supporting document and page information.&lt;/p&gt;

&lt;p&gt;These checks validate quotation provenance, not the truth of every conclusion. Invalid references produce an explicit notice. When documents are not relevant, Fieldmate can still answer from general model knowledge and label the response accordingly.&lt;/p&gt;
&lt;h3&gt;
  
  
  Conversation memory and contextual actions
&lt;/h3&gt;

&lt;p&gt;I keep &lt;strong&gt;conversation memory separate from document retrieval&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Each thread has its own persistent transcript, category, model selection, and custom instructions. The backend loads history from SQLite rather than trusting conversation history submitted by the browser.&lt;/p&gt;

&lt;p&gt;As a conversation grows, older exchanges are compacted into a rolling summary. The original transcript remains available for operations that need exact content.&lt;/p&gt;

&lt;p&gt;That distinction became important when fixing a real bug:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Save this as a note” initially saved the word “this.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The capture handler was bypassing contextual resolution. I changed it so that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Save this” copies the preceding answer, skipping action confirmations.&lt;/li&gt;
&lt;li&gt;“Save our study plan” searches the current thread’s stored messages for the relevant plan.&lt;/li&gt;
&lt;li&gt;Whole-message captures use schema-constrained source IDs, and the backend copies the original text.&lt;/li&gt;
&lt;li&gt;Requested excerpts must match the selected source.&lt;/li&gt;
&lt;li&gt;Missing or invalid selections ask for clarification without writing a note.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Notes and tasks are saved in the same SQLite transaction as their request receipt. Repeating the same request ID returns the existing result instead of creating another item.&lt;/p&gt;

&lt;p&gt;The distinction between compact context and recoverable source text is also explored in &lt;a href="https://dev.to/badbat4560/smaller-context-recoverable-history-inside-an-agent-memory-handoff-404j"&gt;Smaller Context, Recoverable History&lt;/a&gt;. The separate problem of choosing an outdated version is discussed in &lt;a href="https://dev.to/madebyexpert/agent-memorys-real-failure-is-currency-not-retrieval-40h9"&gt;Agent Memory’s Real Failure Is Currency, Not Retrieval&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Clarification and internet permissions
&lt;/h3&gt;

&lt;p&gt;I integrated &lt;a href="https://github.com/NandhaKishorM/laya" rel="noopener noreferrer"&gt;Laya&lt;/a&gt; to provide an advisory signal about whether a request needs clarification. Structured Ollama planning combines that signal with conversation context.&lt;/p&gt;

&lt;p&gt;I also added deterministic checks for clear missing references. For example, a new conversation asking “Can I take it with my other medicine?” needs the medicine names before a useful answer.&lt;/p&gt;

&lt;p&gt;Web search follows a separate backend permission flow. Fieldmate proposes an editable query and waits for approval. The permission is tied to that conversation and can be consumed only once.&lt;/p&gt;

&lt;p&gt;Only the approved query is sent to the search provider. The application does not automatically upload the full conversation or document collection. Returned search snippets are treated as external evidence, with their limitations retained.&lt;/p&gt;
&lt;h3&gt;
  
  
  The local voice pipeline
&lt;/h3&gt;

&lt;p&gt;Voice input passes through &lt;strong&gt;faster-whisper&lt;/strong&gt;, using the multilingual Whisper base model with CPU int8 inference. The transcription can be reviewed in the composer before sending.&lt;/p&gt;

&lt;p&gt;For speech output, &lt;strong&gt;Piper&lt;/strong&gt; generates a WAV response using the locally stored Lessac voice model.&lt;/p&gt;

&lt;p&gt;Hands-free mode uses microphone volume and silence detection to identify turns. Listening pauses while the assistant processes or speaks, so the prototype uses turn-taking rather than simultaneous listening and speaking.&lt;/p&gt;

&lt;p&gt;I also added a speech-cleanup layer after discovering that the voice was reading Markdown asterisks aloud. It removes formatting and citation markers while converting meaningful mathematical operators into spoken words.&lt;/p&gt;
&lt;h3&gt;
  
  
  Testing the complete workflow
&lt;/h3&gt;

&lt;p&gt;I used Codex to help implement and debug Fieldmate.&lt;/p&gt;

&lt;p&gt;The automated suite reached &lt;strong&gt;61 passing tests&lt;/strong&gt;, covering conversation isolation, contextual captures, retrieval behavior, citation checks, search permissions, task dates, retries, and transaction rollback.&lt;/p&gt;

&lt;p&gt;I also tested against local models. With &lt;strong&gt;Gemma 4 12B&lt;/strong&gt;, the contextual-save checks verified the original study-plan content, recovery after a topic change, selection of a newer revision, and creation of a task from a referenced step.&lt;/p&gt;

&lt;p&gt;Those live checks caught behavior that test doubles missed—including the model trying to rewrite a quotation instead of selecting the stored text.&lt;/p&gt;
&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Local operation is the reason this project works for its intended setting.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After the initial model downloads, the core assistant can run without an internet connection. Document retrieval, conversation, transcription, and speech generation happen on the laptop. Optional web search is the exception and requires approval.&lt;/p&gt;

&lt;p&gt;That matters because notes and documents do not need to be sent to a hosted inference service just to ask a question about them.&lt;/p&gt;

&lt;p&gt;Open tooling and locally runnable models also gave me control over the assistant’s behavior. I could inspect the decision flow, change retrieval logic, improve clarification, and fix the speech formatting problem.&lt;/p&gt;

&lt;p&gt;The model is replaceable, too. Fieldmate can switch between compatible installed Ollama models while retaining the conversation. I tested a switch from Qwen to Gemma with a contextual follow-up.&lt;/p&gt;

&lt;p&gt;There are no per-request cloud inference charges for the local workflow, although it still uses the laptop’s storage, memory, and electricity.&lt;/p&gt;

&lt;p&gt;A hosted API would have made this prototype dependent on connectivity and external processing. This approach lets the assistant remain useful on the machine my friend already has.&lt;/p&gt;
&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;


&lt;div class="ltag-agent-session"&gt;
  &lt;div class="agent-session-header"&gt;
    
    &lt;span class="agent-session-tool-icon-badge" title="Codex"&gt;
&lt;/span&gt;
    &lt;span class="agent-session-title"&gt;Planning Fieldmate: an offline voice assistant for a field worker&lt;/span&gt;
  &lt;/div&gt;

  &lt;div class="agent-session-scroll"&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Build for a Friend: build something with open-source AI at its core that solves a real problem for a friend or loved one. I'm about to build something; we'll discuss what to build.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Who might you build this for, and what’s one recurring task or frustration they have? We’ll look for something small enough to finish this weekend, useful enough to hand over, and where open-source AI brings a real benefit such as privacy, offline use, or customization.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;I was thinking of a friend who does a lot of ground work, like a field worker. An offline assistant who can interact continuously like a voice assistant plus RAG, and save todos or quick notes. How to build this kind of tech? I'll have to use Ollama.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Proposed architecture: local speech recognition → coordinator model through Ollama → mandatory document retrieval for work questions or validated tools for notes and tasks → local speech synthesis. Suggested components: Qwen3 4B, whisper.cpp, Piper, local embeddings, Chroma and SQLite. Retrieve before answering, preserve source references, abstain when evidence is insufficient, and keep field observations separate from official procedures. Start with one coordinator and explicit tools, then add hands-free interaction. Device choice determines whether Ollama is practical.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;We'll stick to laptop prototype. Also how to save DevRelay?&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Save the development conversation as a DevRelay agent session, remove secrets and private paths, and embed the returned session ID in the DEV submission with the agent_session Liquid tag. This is separate from conversations with the finished assistant.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Everything is set. I have attached the folder to develop the application. I have signed in to DevRelay with MLH. Also save the DevRelay session and start developing.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
  &lt;/div&gt;

  &lt;div class="agent-session-footer"&gt;
    &lt;span class="agent-session-meta"&gt;
        7 of 7 messages
    &lt;/span&gt;
  &lt;/div&gt;
&lt;/div&gt;




&lt;div class="ltag-agent-session"&gt;
  &lt;div class="agent-session-header"&gt;
    
    &lt;span class="agent-session-tool-icon-badge" title="Codex"&gt;
&lt;/span&gt;
    &lt;span class="agent-session-title"&gt;Building Fieldmate: offline RAG, voice, notes and tasks with Ollama&lt;/span&gt;
  &lt;/div&gt;

  &lt;div class="agent-session-scroll"&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;We'll stick to a laptop prototype.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Everything is set. I have attached the folder to develop the application. I have signed in to DevRelay with MLH. Also save the DevRelay session and start developing.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;I’ll build the laptop prototype in your Assistant folder and save the planning session to DevRelay. I’ll first check the folder, local tools, and Ollama setup, then implement document search, voice input and output, notes, and tasks.&lt;/p&gt;

                &lt;/div&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-localenvironmentcheck"&gt;local_environment_check&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;Inspect selected empty folder, ancestor instructions, installed tools, and Ol...&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;Inspect selected empty folder, ancestor instructions, installed tools, and Ollama models.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;No existing project or AGENTS.md was found. Ollama has qwen3:8b and nomic-embed-text:latest installed. DevRelay MLH connection is active. Planning session saved privately as DEV session 359.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Your planning session is saved privately on DEV, and Ollama already has Qwen3 8B and a local embedding model installed. I’ll use those for the first build. The prototype will have document-backed answers with visible source excerpts, persistent notes and tasks, push-to-talk, and a hands-free session mode.&lt;/p&gt;

                &lt;/div&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-implementation"&gt;implementation&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;Implement Fieldmate in the selected project: FastAPI, local HTML/CSS/JS, Olla...&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;Implement Fieldmate in the selected project: FastAPI, local HTML/CSS/JS, Ollama adapter, SQLite vector store, coordinator, voice models, launcher and docs.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;Implemented local document ingestion for PDF/MD/TXT; cosine + keyword retrieval; schema-constrained evidence selection; verbatim excerpt validation; separate notes/tasks; atomic write receipts with retry protection; browser audio capture; offline Whisper and Piper; hands-free turn-taking; local-origin/host restrictions. Downloaded voice models during one-time setup.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;The real-model test caught a routing error that the mocked tests couldn’t: Qwen treated a document question as a request to search personal notes. I’m tightening the router so ordinary work questions go directly to the fieldbook, and notes or tasks require clear user intent.&lt;/p&gt;

                &lt;/div&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-routingregressionfix"&gt;routing_regression_fix&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;Gate memory and write actions on explicit user intent; route normal questions...&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;Gate memory and write actions on explicit user intent; route normal questions straight to retrieval.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;Added regression tests for document questions misrouted to notes and follow-up questions misrouted to writes. All 18 automated tests pass.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Document answers now pass the real-model checks, including refusal to answer questions missing from the guide. The browser also shows the source excerpts correctly. Voice testing found an audio-library compatibility issue; I’ve pinned a compatible version and am checking the full Piper-to-Whisper audio path.&lt;/p&gt;

                &lt;/div&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-audiocompatibilityfix"&gt;audio_compatibility_fix&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;Diagnose faster-whisper audio decoding and native model shutdown.&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;Diagnose faster-whisper audio decoding and native model shutdown.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;PyAV 19 removed metadata_errors still used by faster-whisper. Locked PyAV 16.1.0. Piper synthesized a spoken note; Whisper correctly transcribed 'Save a note, the site identifier is unreadable.' Added explicit model cleanup before native library teardown.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;The full integration check passes with outbound connections blocked: local document answers, missing-evidence refusal, note/task persistence, and Piper-to-Whisper transcription.&lt;/p&gt;

                &lt;/div&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-validation"&gt;validation&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;Run automated tests, lint, JS syntax check, real Ollama retrieval and voice i...&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;Run automated tests, lint, JS syntax check, real Ollama retrieval and voice integration, and browser UI checks.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;18 tests pass; Ruff and JavaScript syntax checks pass. Real-model checks answer visit handover and photograph naming questions with verified excerpts, abstain on missing pump torque and world-cup questions, preserve notes/tasks without duplicates, and complete Piper→Whisper audio round trip with outbound socket connections blocked. Browser checks confirm source expansion, document viewer, notes/tasks screens, all readiness checks, and no console errors. Physical microphone and noisy hands-free use still need a human trial.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
  &lt;/div&gt;

  &lt;div class="agent-session-footer"&gt;
    &lt;span class="agent-session-meta"&gt;
        7 of 7 messages
    &lt;/span&gt;
  &lt;/div&gt;
&lt;/div&gt;



&lt;div class="ltag-agent-session"&gt;
  &lt;div class="agent-session-header"&gt;
    
    &lt;span class="agent-session-tool-icon-badge" title="Codex"&gt;
&lt;/span&gt;
    &lt;span class="agent-session-title"&gt;Fieldmate v2: contextual local assistant, categories and permission-gated web search&lt;/span&gt;
  &lt;/div&gt;

  &lt;div class="agent-session-scroll"&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Update the laptop assistant with a simple dark chat interface, a Documents tab, multiple threads, subject categories, custom prompts, contextual conversations, permission-based web search, document cross-checking, and a Laya-like clarification engine. Support switching Ollama models, including Gemma 4.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Curated build summary: migrated existing SQLite exchanges into a legacy conversation; added isolated thread histories, rolling summaries, categories, prompts, and per-thread models. Separated conversation memory from document retrieval. The interface has Chat and Documents tabs plus settings and a notebook.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Integrated the open Laya typed-decision checkpoint as an advisory local ambiguity signal. A real test showed its answer hint could encourage an overly general response when medicine names were missing. Added deterministic missing-reference clarification for that case. Ollama handles nuanced context and question wording. No confidence score is treated as calibrated.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Added exact-source quotation checks around natural-language answers. Replies distinguish model knowledge, document sources, mixed evidence, and uncertainty. Exact quotation provenance is not a guarantee that generated claims are correct. Web search requires an editable query and single-use server-side approval bound to its conversation. Only the approved query is sent to DuckDuckGo; failures are explicit.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Validation: 31 automated tests passed, including thread isolation, migration, compaction, categories, atomic notes/tasks, fabricated citation rejection, single-use search approval, and rejection of remote model tags. Real offline checks passed with Qwen3, Gemma4 e2b, Laya, Nomic embeddings, and a Piper-to-Whisper audio round trip. Switching from Qwen to Gemma preserved a photosynthesis conversation. A public documentation query returned live search results. The installed app retains the user's existing records and a pre-migration SQLite backup.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Open innovation enables local inference and private document handling without recurring cloud inference fees, replaceable chat models, inspectable routing, and offline speech. Limitations: bounded/summarized context, heuristic retrieval and clarification, search snippets rather than full web pages, and turn-taking voice rather than full duplex. This is a curated summary, not a raw transcript. Private paths, existing user conversation content, and credentials have been excluded.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
  &lt;/div&gt;

  &lt;div class="agent-session-footer"&gt;
    &lt;span class="agent-session-meta"&gt;
        6 of 6 messages
    &lt;/span&gt;
  &lt;/div&gt;
&lt;/div&gt;


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

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

&lt;p&gt;Fieldmate runs Gemma 4 locally through Ollama for conversational assistance, structured decisions, and document-grounded answers. I used Gemma 4 E2B during development and tested the contextual capture workflow with Gemma 4 12B.&lt;/p&gt;

&lt;p&gt;Gemma fits into a workflow where the user’s documents and conversation stay on their laptop.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>My First Internship Journey: at Thinkvyne Digital</title>
      <dc:creator>Godly K Mathews</dc:creator>
      <pubDate>Sat, 01 Nov 2025 14:36:43 +0000</pubDate>
      <link>https://dev.to/godlykmathews/my-first-internship-journey-at-thinkvyne-digital-5e83</link>
      <guid>https://dev.to/godlykmathews/my-first-internship-journey-at-thinkvyne-digital-5e83</guid>
      <description>&lt;p&gt;When I joined Thinkvyne Digital as a Software Developer Intern, I didn’t really know what I was walking into. It’s a startup building an Academic Management System using a mix of React, React Native, and PHP Laravel — and from day one, I was responsible for the entire UI structure of both the main user app and admin panel.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Learning to Build from Zero&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;The tech stack was modern:&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;React 19, Vite, TailwindCSS, Shadcn/UI, Radix UI, Lucide Icons, React Query, Zustand for client states, Tanstack Query for server states, React Router DOM, Sonner for toast notifications — and of course, React Native for the mobile app with vector icons.&lt;/p&gt;

&lt;p&gt;When I started, I had zero experience in React Native. AI tools like Copilot (and sometimes ChatGPT) became my silent teammates. They didn’t just write code — they taught me how to think through it. I learned to prompt well, debug faster, and understand why something worked (or didn’t).&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Working Like a Pro in a Startup&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Even though it’s a startup, the workflow here feels like a mini-MNC.&lt;br&gt;
We use Jira for task management, GitHub for version control, and follow agile-scrum methods with daily meetings. Two of our leads come from MNC backgrounds, and their professionalism really shaped how we approach even the smallest tasks.&lt;/p&gt;

&lt;p&gt;Most of our work happens online — it’s a mix of casual conversations and serious productivity. The team’s energy is somewhere between a chill group chat and a professional dev squad. Some interns are super cooperative, some a bit rigid — but that’s how real teams are.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Bug That Taught Me Patience&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;One moment I’ll never forget was spending hours chasing a stubborn bug that AI couldn’t solve. After staring at my code long enough, I finally spotted the tiniest mistake — one small fix, and everything worked perfectly. That moment hit hard: this was my code, my structure, my creation.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;More Than Just Coding&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Beyond code, I learned how to communicate, collaborate, and manage workflow like a developer — not just a student. I got comfortable writing emails, managing PRs, and keeping track of progress.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Looking Ahead&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I’m still in my third year of B.Tech, and this internship is ongoing — it’s an 8-month program, and I’m about five months in. They’ve mentioned the possibility of a job offer afterward, but I’m keeping my mind open. I want more exposure — more chances to explore different fields and see where I really fit.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Real Internship Vibe&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This internship gave me something my classmates still don’t have — real experience. While many think internships are something you pay for just to get a certificate, I realized that real internships pay you — not just in money, but in skills, confidence, and clarity about your future.&lt;/p&gt;

&lt;h3&gt;
  
  
  Connect with me
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Linkedin&lt;/em&gt; : &lt;a href="https://www.linkedin.com/in/godly-k-mathews" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/godly-k-mathews&lt;/a&gt;&lt;br&gt;
&lt;em&gt;GitHub&lt;/em&gt; : &lt;a href="https://www.github.com/godlykmathews" rel="noopener noreferrer"&gt;https://www.github.com/godlykmathews&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Instagram&lt;/em&gt; : &lt;a href="https://www.instagram.com/godly_k_mathews_" rel="noopener noreferrer"&gt;https://www.instagram.com/godly_k_mathews_&lt;/a&gt;&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>beginners</category>
      <category>career</category>
      <category>react</category>
    </item>
    <item>
      <title>Our team won 𝗙𝗶𝗿𝘀𝘁 𝗽𝗹𝗮𝗰𝗲 𝗶𝗻 𝘁𝗵𝗲 𝗦𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗰𝗮𝘁𝗲𝗴𝗼𝗿𝘆 at the 𝗕𝘂𝗶𝗹𝗱 𝗳𝗼𝗿 𝗧𝗵𝗿𝗶𝘀𝘀𝘂𝗿 𝗣𝗿𝗼𝗱𝘂𝗰𝘁𝗮𝘁𝗵𝗼𝗻 𝟮𝟬𝟮𝟰</title>
      <dc:creator>Godly K Mathews</dc:creator>
      <pubDate>Thu, 21 Nov 2024 13:46:09 +0000</pubDate>
      <link>https://dev.to/godlykmathews/our-team-won-at-the-i2o</link>
      <guid>https://dev.to/godlykmathews/our-team-won-at-the-i2o</guid>
      <description>&lt;p&gt;🌟 𝗧𝗵𝗿𝗶𝗹𝗹𝗲𝗱 𝘁𝗼 𝗮𝗻𝗻𝗼𝘂𝗻𝗰𝗲 𝗮𝗻 𝗲𝘅𝗰𝗶𝘁𝗶𝗻𝗴 𝗺𝗶𝗹𝗲𝘀𝘁𝗼𝗻𝗲! We secured 𝗧𝗵𝗶𝗿𝗱 𝗽𝗹𝗮𝗰𝗲 𝗼𝘃𝗲𝗿𝗮𝗹𝗹 and 𝗙𝗶𝗿𝘀𝘁 𝗽𝗹𝗮𝗰𝗲 𝗶𝗻 𝘁𝗵𝗲 𝗦𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗰𝗮𝘁𝗲𝗴𝗼𝗿𝘆 at the 𝗕𝘂𝗶𝗹𝗱 𝗳𝗼𝗿 𝗧𝗵𝗿𝗶𝘀𝘀𝘂𝗿 𝗣𝗿𝗼𝗱𝘂𝗰𝘁𝗮𝘁𝗵𝗼𝗻 𝟮𝟬𝟮𝟰, an event organized by IEDC GEC Thrissur at Government Engineering College, Thrissur to bring innovative solutions to urban challenges in Thrissur! 🎉&lt;/p&gt;

&lt;p&gt;As the 𝘄𝗲𝗯 𝗱𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿 on the team, I had the opportunity to work on the backend, creating the API in 𝗡𝗼𝗱𝗲.𝗷𝘀 + 𝗘𝘅𝗽𝗿𝗲𝘀𝘀 to fetch real-time data from our 𝗠𝗼𝗻𝗴𝗼𝗗𝗕 𝗱𝗮𝘁𝗮𝗯𝗮𝘀𝗲. Additionally, I developed an admin panel to ensure that our solution stays accurate and efficient by managing key updates.&lt;/p&gt;

&lt;p&gt;Our app, 𝗣𝗮𝗿𝗸𝗔𝘃𝗮𝗶𝗹, was developed using Flutter, thanks to our talented Flutter developer Abhijith R Nair, who made the user experience truly seamless!&lt;/p&gt;

&lt;p&gt;But this victory was far from a solo effort—it was a true team achievement:&lt;/p&gt;

&lt;p&gt;Abhinav Suresh: Delivered an exceptional presentation that captivated the judges. His ability to articulate our vision and the impact of our solution truly set us apart. His confidence and passion resonated with everyone, making our project unforgettable.&lt;br&gt;
Anamika Ullas: Our brilliant designer, whose creativity shaped the look and feel of the app.&lt;br&gt;
Anila Ashok: Our mentor, who guided us throughout the project and helped refine our approach.&lt;/p&gt;

&lt;p&gt;I'm incredibly proud of what we’ve accomplished as a team, and I’m eager to see where we take 𝗣𝗮𝗿𝗸𝗔𝘃𝗮𝗶𝗹 next! 🚀&lt;/p&gt;

&lt;p&gt;🔗 I'm always open to connecting with other professionals in the tech space. Let’s network, share ideas, and innovate together!&lt;/p&gt;

&lt;h1&gt;
  
  
  BuildForThrissur #Teamwork #Innovation #WebDevelopment #NodeJS #Express #react
&lt;/h1&gt;

</description>
      <category>hackathon</category>
      <category>productivity</category>
      <category>node</category>
      <category>flutter</category>
    </item>
    <item>
      <title>Started Learning React #react #reactjs</title>
      <dc:creator>Godly K Mathews</dc:creator>
      <pubDate>Mon, 26 Aug 2024 16:28:18 +0000</pubDate>
      <link>https://dev.to/godlykmathews/started-learning-react-react-reactjs-1i8l</link>
      <guid>https://dev.to/godlykmathews/started-learning-react-react-reactjs-1i8l</guid>
      <description></description>
    </item>
    <item>
      <title>I created a website for my school</title>
      <dc:creator>Godly K Mathews</dc:creator>
      <pubDate>Thu, 20 Apr 2023 20:11:07 +0000</pubDate>
      <link>https://dev.to/godlykmathews/i-created-a-website-for-my-school-4d0n</link>
      <guid>https://dev.to/godlykmathews/i-created-a-website-for-my-school-4d0n</guid>
      <description>&lt;p&gt;I noticed my school website to be outdated and not responsible with mobile devices. I made a website for my school and i showed it to school principal. He Send it to IHRD Head office and I received a call from their, that they will host the website that I made in the official domain. You can visit my website here at &lt;a href="http://thssputhuppally.ihrd.ac.in" rel="noopener noreferrer"&gt;http://thssputhuppally.ihrd.ac.in&lt;/a&gt;&lt;br&gt;
 Here is my portfolio link : &lt;a href="https://godlykmathews.github.io" rel="noopener noreferrer"&gt;https://godlykmathews.github.io&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I created my own 1st website 🙏 and hosted it on GitHub visit on 👇</title>
      <dc:creator>Godly K Mathews</dc:creator>
      <pubDate>Sat, 11 Jun 2022 14:52:27 +0000</pubDate>
      <link>https://dev.to/godlykmathews/i-created-my-own-1st-website-and-hosted-it-on-github-visit-on-5590</link>
      <guid>https://dev.to/godlykmathews/i-created-my-own-1st-website-and-hosted-it-on-github-visit-on-5590</guid>
      <description>&lt;p&gt;&lt;a href="https://godlykmathews.github.io/" rel="noopener noreferrer"&gt;Godly k mathews&lt;/a&gt;&lt;/p&gt;

</description>
      <category>website</category>
      <category>html</category>
      <category>javascript</category>
    </item>
    <item>
      <title>MY PROGRAMMING - HOW DO I GET INTO IT</title>
      <dc:creator>Godly K Mathews</dc:creator>
      <pubDate>Fri, 28 Jan 2022 01:27:08 +0000</pubDate>
      <link>https://dev.to/godlykmathews/my-programming-how-do-i-get-into-it-1amg</link>
      <guid>https://dev.to/godlykmathews/my-programming-how-do-i-get-into-it-1amg</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;             I was an ordinary student in a school close to my house, as it was a CBSE school I got a very good opportunity to study. I got fair experience in English. I had no idea about coding and programming kinds of stuff until the 2020 lockdown stricken. I got more time spent in social media and I saw different challenges of coding and hackathons etc. I joined one hackathon for fun and I got into their discord server, I found children younger than me are experts in many languages and I don't even know what is a computer language or skill is by that time. I got into a group with children of my own age and they actually asked me my skills. I was so ashamed of their reply to my answers. i left that meeting and started searching for this stuff and what they actually do. I searched all around and found so many results and tutorials for various languages. there was no access to a computer for me by then but tried to learn basics on my android phone with some tutorial videos I found on YouTube.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;I got passed from 10th in 2021, after getting admission to a technical high school, my parents bought me a laptop. now I'm learning what real programming is. I got help from my cousin, who is in the IT field, friends, many social media, and YouTube itself for me to improve my skills. I'm not a great programmer now but know C language, C++, and Python Basics.&lt;/p&gt;

&lt;p&gt;I'm pretty sure that now my only goal is to become a Developer.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                                                                                                        - GODLY
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
    </item>
  </channel>
</rss>
