<?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: Srujan Kaleru</title>
    <description>The latest articles on DEV Community by Srujan Kaleru (@srujankaleru2007).</description>
    <link>https://dev.to/srujankaleru2007</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%2F4151442%2F810493cf-63a1-4e43-bdc4-380e43ef9e5a.png</url>
      <title>DEV Community: Srujan Kaleru</title>
      <link>https://dev.to/srujankaleru2007</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/srujankaleru2007"/>
    <language>en</language>
    <item>
      <title>LocalReceipts AI: Private Receipt-to-CSV Automation for Indian Freelancers</title>
      <dc:creator>Srujan Kaleru</dc:creator>
      <pubDate>Mon, 19 Oct 2026 06:48:42 +0000</pubDate>
      <link>https://dev.to/srujankaleru2007/localreceipts-ai-private-receipt-to-csv-automation-for-indian-freelancers-4neh</link>
      <guid>https://dev.to/srujankaleru2007/localreceipts-ai-private-receipt-to-csv-automation-for-indian-freelancers-4neh</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;LocalReceipts AI turns receipt images and PDF invoices into an editable expense register, with all receipt processing on the user's laptop.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is designed for freelancers and small business owners in India who need to hand their Chartered Accountant something more useful than a folder of photographs.&lt;/p&gt;

&lt;p&gt;The workflow is deliberately small: upload bills, extract their details with a local vision model, correct the results, and download an accounting CSV. There is also a JSON backup containing the edited records and original extraction for comparison.&lt;/p&gt;

&lt;p&gt;The app supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Batch PNG, JPG, JPEG and PDF uploads, with document/page previews.&lt;/li&gt;
&lt;li&gt;Vendor name, invoice date, expense category, vendor GSTIN, subtotal, tax amount, total and line-item summary.&lt;/li&gt;
&lt;li&gt;Six expense categories: Software, Travel, Meals, Office Supplies, Utilities and Professional Services.&lt;/li&gt;
&lt;li&gt;An editable table with expense and tax totals, review notes and a Reviewed checkbox.&lt;/li&gt;
&lt;li&gt;CSV exports with readable accounting headers and JSON backups.&lt;/li&gt;
&lt;li&gt;Friendly handling of unavailable Ollama servers, missing models, malformed responses and damaged or protected documents.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GSTIN stays a &lt;strong&gt;text identifier&lt;/strong&gt;, separate from the numeric tax amount. Missing amounts stay blank: an unreadable tax figure should never silently become zero.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who would pay for it?&lt;/strong&gt; The customer hypothesis is an independent consultant, freelancer or small business that spends time retyping receipts but does not want to upload client or financial documents to a cloud service. A potential paid offering would be assisted installation, model configuration and support for their receipt workflow. That is a business hypothesis, not validated demand: I do not yet have a paying customer or external user study.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;This is a local desktop utility. There is currently no public hosted app or video demo.&lt;/strong&gt; The repository contains a runnable synthetic demonstration and setup instructions so readers can reproduce the workflow without providing private receipts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/srujankaleru2007/locarecieptsAi/blob/main/scripts/smoke_local_model.py" rel="noopener noreferrer"&gt;Run the synthetic receipt demo&lt;/a&gt; · &lt;a href="https://github.com/srujankaleru2007/locarecieptsAi/blob/main/README.md" rel="noopener noreferrer"&gt;Installation and app walkthrough&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After installing Python dependencies and downloading a vision model, configure Ollama in local-only mode and run the app. On Windows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# In the Ollama terminal, after exiting any existing Ollama instance:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nv"&gt;$&lt;/span&gt;&lt;span class="nn"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;OLLAMA_NO_CLOUD&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"1"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nv"&gt;$&lt;/span&gt;&lt;span class="nn"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;OLLAMA_HOST&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"127.0.0.1:11434"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;ollama&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;serve&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="c"&gt;# In another terminal, from the cloned repository:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;\.venv\Scripts\python.exe&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-m&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;streamlit&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;run&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;app.py&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Select an installed vision model, upload a receipt, inspect the preview, extract it, edit the table and download the CSV. The app's default model name is &lt;code&gt;llama3.2-vision&lt;/code&gt;; custom installed models are supported.&lt;/p&gt;

&lt;p&gt;For a repeatable test, the demo script generates a fictional software-store receipt and sends it to local Ollama:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;\.venv\Scripts\python.exe&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;scripts\smoke_local_model.py&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;--model&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;qwen3.5:4b&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;In the live local test, &lt;code&gt;qwen3.5:4b&lt;/code&gt; returned:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Extracted value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Vendor&lt;/td&gt;
&lt;td&gt;SAMPLE SOFTWARE STORE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Invoice date&lt;/td&gt;
&lt;td&gt;2026-10-19&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Category&lt;/td&gt;
&lt;td&gt;Software&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GSTIN&lt;/td&gt;
&lt;td&gt;null&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Subtotal&lt;/td&gt;
&lt;td&gt;INR 1,000.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tax&lt;/td&gt;
&lt;td&gt;INR 180.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Total&lt;/td&gt;
&lt;td&gt;INR 1,180.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Items&lt;/td&gt;
&lt;td&gt;Software subscription&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The script checks the expected tax and total. &lt;strong&gt;This is one synthetic test, not a claim of general receipt accuracy.&lt;/strong&gt; The smaller installed &lt;code&gt;moondream&lt;/code&gt; model returned valid JSON but incorrect amounts on this example. That failure is documented too: structured output does not make an answer financially correct.&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/srujankaleru2007/locarecieptsAi" rel="noopener noreferrer"&gt;GitHub repository: LocalReceipts AI&lt;/a&gt;&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/srujankaleru2007" rel="noopener noreferrer"&gt;
        srujankaleru2007
      &lt;/a&gt; / &lt;a href="https://github.com/srujankaleru2007/locarecieptsAi" rel="noopener noreferrer"&gt;
        locarecieptsAi
      &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;LocalReceipts AI&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;A modular, offline Streamlit desktop utility for Indian freelancers and small businesses. PNG/JPEG bills and multi-page PDF invoices become an editable INR expense register, with CSV and JSON downloads.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Install once (internet needed for packages and model weights)&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;Requires Python 3.10+ and a recent local &lt;a href="https://ollama.com/" rel="nofollow noopener noreferrer"&gt;Ollama&lt;/a&gt; installation. Model memory requirements vary substantially; choose one that fits your machine. The default &lt;code&gt;llama3.2-vision&lt;/code&gt; can be slow without sufficient GPU memory. &lt;code&gt;minicpm-v&lt;/code&gt; and &lt;code&gt;llava&lt;/code&gt; are alternatives.&lt;/p&gt;

&lt;p&gt;From this directory in PowerShell:&lt;/p&gt;

&lt;div class="highlight highlight-source-powershell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;python &lt;span class="pl-k"&gt;-&lt;/span&gt;m venv .venv
.\.venv\Scripts\&lt;span class="pl-c1"&gt;python.exe&lt;/span&gt; &lt;span class="pl-k"&gt;-&lt;/span&gt;m pip install &lt;span class="pl-k"&gt;-&lt;/span&gt;r requirements.txt
ollama pull llama3.&lt;span class="pl-c1"&gt;2&lt;/span&gt;&lt;span class="pl-k"&gt;-&lt;/span&gt;vision&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Set Ollama to local-only mode &lt;strong&gt;before processing private documents&lt;/strong&gt;. Quit the Ollama tray application first, then start its server in a dedicated terminal:&lt;/p&gt;
&lt;div class="highlight highlight-source-powershell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-smi"&gt;$&lt;span class="pl-c1"&gt;env:&lt;/span&gt;OLLAMA_NO_CLOUD&lt;/span&gt; &lt;span class="pl-k"&gt;=&lt;/span&gt; &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;"&lt;/span&gt;1&lt;span class="pl-pds"&gt;"&lt;/span&gt;&lt;/span&gt;
&lt;span class="pl-smi"&gt;$&lt;span class="pl-c1"&gt;env:&lt;/span&gt;OLLAMA_HOST&lt;/span&gt; &lt;span class="pl-k"&gt;=&lt;/span&gt; &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;"&lt;/span&gt;127.0.0.1:11434&lt;span class="pl-pds"&gt;"&lt;/span&gt;&lt;/span&gt;
ollama serve&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Keep that terminal open. If Ollama reports the port is…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/srujankaleru2007/locarecieptsAi" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;The repository includes the application, modular extraction code, dependency files, a Windows launcher, tests, setup documentation and &lt;a href="https://github.com/srujankaleru2007/locarecieptsAi/blob/main/VALIDATION.md" rel="noopener noreferrer"&gt;validation notes&lt;/a&gt;.&lt;/p&gt;

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

&lt;p&gt;The stack is Python, Streamlit, the Ollama Python SDK, Pandas, Pillow and PyMuPDF. Local open-weight vision models perform the extraction; there is no hosted model fallback.&lt;/p&gt;

&lt;p&gt;The pipeline is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Image / PDF
  → bounded in-memory decoding
  → local vision extraction
  → JSON parsing and field normalization
  → editable expense register
  → CSV / JSON download
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For PDFs, PyMuPDF renders pages locally. Each page is sent individually to Ollama, followed by a local text reconciliation pass that produces one invoice record. The prompt explicitly warns against summing repeated totals and page carry-forwards. Multi-page results still require review against the originals.&lt;/p&gt;

&lt;p&gt;The model receives a JSON schema and instructions to leave uncertain fields null. A fallback parser handles markdown fences or surrounding text. Separate validation normalizes amounts and dates and flags missing fields, suspicious GSTIN formatting and inconsistent totals.&lt;/p&gt;

&lt;p&gt;A few details mattered more than the happy-path demo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Privacy extends beyond the hostname.&lt;/strong&gt; Requests are pinned to loopback, ignore proxy environment variables and do not follow redirects. Cloud-named and remote-backed models are rejected before images are sent. Model metadata is preserved because an SDK can otherwise discard fields identifying a remote-backed alias.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The server needs its own configuration.&lt;/strong&gt; Ollama should be started with cloud features disabled. Setting an environment variable in the Streamlit terminal does not reconfigure an already-running Ollama server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Edits must survive reruns.&lt;/strong&gt; The editor applies changes to canonical session records so metrics and exports reflect corrections.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CSV is an execution surface.&lt;/strong&gt; Text that could be interpreted as a spreadsheet formula is escaped in CSV exports.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One failure should not lose the batch.&lt;/strong&gt; Successful receipts remain available when another file fails, and identical file contents are skipped.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The automated suite passed &lt;strong&gt;35 tests&lt;/strong&gt; covering parsing, financial normalization, PDFs, image conversion, local transport, model failures, multi-page request handling, exports and Streamlit state. Dependency compatibility checks also passed. These checks complement, rather than replace, OCR testing on representative documents.&lt;/p&gt;

&lt;p&gt;Current limits are explicit: the app is single-user, records are held in session memory, backups need to be downloaded before ending a session, and accuracy depends on the model and scan quality. Its CSV is an expense register for accountant review—not a statutory GST return or a determination of input-tax-credit eligibility.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Local inference makes the privacy promise practical.&lt;/strong&gt; Once dependencies and model weights are installed, the workflow can run without an internet connection. Receipt images do not need to be sent to a hosted inference API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;There is no per-receipt hosted inference fee.&lt;/strong&gt; Hardware, electricity, installation and support still cost money, but processing more bills does not inherently create another cloud API bill. That makes a small support-oriented business model worth exploring.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Models are replaceable.&lt;/strong&gt; The contrast between the two locally tested models is a useful example: I can compare another model using the same synthetic test and choose based on observed results. I am not tied to one provider's endpoint or pricing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The workflow can be inspected and adapted.&lt;/strong&gt; The parsing, review and export logic is visible in the repository. Future work could target specific receipt layouts or accountant workflows, while checking model and dependency licensing before commercial distribution.&lt;/p&gt;

&lt;p&gt;The next step is a local pilot with real users and representative receipts, measuring correction time and error patterns before making stronger accuracy or commercial claims.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;AI disclosure: Codex assisted with implementation and testing and authored this submission text. The reported test results are from actual runs; no customer feedback or revenue is claimed.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>WildXP — An Offline-First Mobile RPG Built to Reduce Screen Time with Local Open-Source AI</title>
      <dc:creator>Srujan Kaleru</dc:creator>
      <pubDate>Fri, 09 Oct 2026 09:53:03 +0000</pubDate>
      <link>https://dev.to/srujankaleru2007/wildxp-an-offline-first-mobile-rpg-built-to-reduce-screen-time-with-local-open-source-ai-1h35</link>
      <guid>https://dev.to/srujankaleru2007/wildxp-an-offline-first-mobile-rpg-built-to-reduce-screen-time-with-local-open-source-ai-1h35</guid>
      <description>&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Core Pitch:&lt;/strong&gt; &lt;em&gt;“I built an AI application whose primary goal is to make you stop using it.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WildXP&lt;/strong&gt; is an offline-first, open-source AI-powered real-world exploration RPG designed for mobile devices. Unlike modern screen-time products, feeds, or infinite chatbots, WildXP uses local artificial intelligence to prepare outdoor experiences, gamify real-world discoveries, and then &lt;strong&gt;get out of the way&lt;/strong&gt;.&lt;/p&gt;

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

&lt;p&gt;WildXP is built for anyone who wants a reason to step away from screens, explore their immediate surroundings, learn about local flora and fauna, and build a meaningful personal exploration history without broadcasting their private data or location to cloud servers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Anime-Inspired RPG Quest Window:&lt;/strong&gt; Receives daily micro-quests (e.g., &lt;em&gt;"Eastbound Hunter: Take a 20-minute walk east and discover 2 unique plants"&lt;/em&gt;). Quests dynamically target underexplored bearings relative to your home area.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;“What The Hell Is That?” (Local VLM Scanner):&lt;/strong&gt; Point your phone camera at an interesting bird, tree, insect, plant, or object. Local vision AI identifies the subject, assesses honest uncertainty (&lt;code&gt;strong_match&lt;/code&gt;, &lt;code&gt;possible_match&lt;/code&gt;, or &lt;code&gt;not_sure&lt;/code&gt;), provides visual clues, and sets a tiny observation challenge.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deterministic Real-World RPG Stats:&lt;/strong&gt; Earn XP, increase your Explorer Level, track verified outdoor time, monitor screen-off/phone-free minutes, and view directional exploration coverage. All stats are strictly grounded in true execution data—never faked or hallucinated by LLMs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;End-Day Audio Narrator:&lt;/strong&gt; At sunset, a local language model aggregates your verified MongoDB daily activity into a short narrative story, which is spoken aloud using local Text-to-Speech (TTS).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Private Exploration Journal:&lt;/strong&gt; Keeps a permanent offline record of all discovered species, places visited, and earned achievements.&lt;/li&gt;
&lt;/ol&gt;




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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live Repository &amp;amp; Architecture:&lt;/strong&gt; [&lt;a href="https://github.com/srujankaleru2007/WildXP.git" rel="noopener noreferrer"&gt;https://github.com/srujankaleru2007/WildXP.git&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Visual Preview:&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;[&lt;a href="https://drive.google.com/file/d/1eXNSCBKwYQfots2dL7NBNqrnik2bF9bL/view?usp=sharing" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/1eXNSCBKwYQfots2dL7NBNqrnik2bF9bL/view?usp=sharing&lt;/a&gt;]&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Anime Quest Window:&lt;/em&gt; Mobile-optimized dark HUD with directional exploration compass.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxi36e3w0vyi4p183d6sj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxi36e3w0vyi4p183d6sj.png" alt=" " width="551" height="902"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;VLM Scanner:&lt;/em&gt; Real-time camera viewfinder with instant offline classification and XP reward toast.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1ty0qogldzwjz6723638.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1ty0qogldzwjz6723638.png" alt=" " width="543" height="911"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Audio Summary:&lt;/em&gt; Interactive audio player for your daily spoken exploration story.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fk6splrfg7m4q588hlgwk.png" alt=" " width="552" height="906"&gt;
&lt;/h2&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/srujankaleru2007" rel="noopener noreferrer"&gt;
        srujankaleru2007
      &lt;/a&gt; / &lt;a href="https://github.com/srujankaleru2007/WildXP" rel="noopener noreferrer"&gt;
        WildXP
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Overall Winner / Main Category:&lt;/strong&gt; Touch Grass (Hacktoberfest Week 1)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Gemma:&lt;/strong&gt; Used &lt;code&gt;gemma3:1b&lt;/code&gt; locally via Ollama to synthesize daily outdoor stats into narrative recap scripts for speech output.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of MongoDB Atlas:&lt;/strong&gt; Used MongoDB as the primary offline-first database store to log player discoveries, track screen-off and GPS distance metrics, maintain directional geohash exploration statistics, and serve ground-truth data to the local AI narrator.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>The Chaos Translator — Turning Scattered Information into Actionable Intelligence</title>
      <dc:creator>Srujan Kaleru</dc:creator>
      <pubDate>Mon, 05 Oct 2026 05:26:51 +0000</pubDate>
      <link>https://dev.to/srujankaleru2007/the-chaos-translator-turning-scattered-information-into-actionable-intelligence-2pj</link>
      <guid>https://dev.to/srujankaleru2007/the-chaos-translator-turning-scattered-information-into-actionable-intelligence-2pj</guid>
      <description>&lt;p&gt;What I Built&lt;/p&gt;

&lt;p&gt;The Chaos Translator is an AI-powered platform that transforms scattered information from conversations and documents into structured, actionable intelligence.&lt;/p&gt;

&lt;p&gt;It can process WhatsApp chat exports, PDFs, DOCX, PPTX, images, and audio recordings, bringing related information together instead of treating every file as an isolated source.&lt;/p&gt;

&lt;p&gt;It extracts and connects:&lt;/p&gt;

&lt;p&gt;People and participants&lt;br&gt;
Tasks, owners, and deadlines&lt;br&gt;
Important decisions and events&lt;br&gt;
Dependencies and unanswered questions&lt;br&gt;
Contradictions across different sources&lt;br&gt;
Evidence-backed action plans&lt;/p&gt;

&lt;p&gt;Its key differentiator is cross-source intelligence. For example, if a WhatsApp conversation mentions one deadline while an uploaded document mentions another, The Chaos Translator identifies the conflict and presents the supporting evidence instead of silently choosing one.&lt;/p&gt;

&lt;p&gt;Users can also investigate their uploaded information through conversational AI and trace answers back to their original sources.&lt;/p&gt;

&lt;p&gt;The Problem&lt;/p&gt;

&lt;p&gt;I built this for my friends, particularly those who regularly collaborate on projects, hackathons, college activities, and group work.&lt;/p&gt;

&lt;p&gt;Important information often gets scattered across WhatsApp groups, documents, screenshots, and voice notes. Deadlines get buried in conversations, responsibilities become unclear, and decisions are difficult to track.&lt;/p&gt;

&lt;p&gt;Finding out what was decided, who is responsible, and what needs to happen next can become a task of its own.&lt;/p&gt;

&lt;p&gt;The Chaos Translator aims to eliminate this information chaos by connecting scattered details and turning them into one actionable picture.&lt;/p&gt;

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

&lt;p&gt;Demo Video Link: &lt;a href="https://drive.google.com/drive/folders/1Jl-xs_hhN7MYlpdhMsU3VPUOVefHQQ-r?usp=sharing" rel="noopener noreferrer"&gt;https://drive.google.com/drive/folders/1Jl-xs_hhN7MYlpdhMsU3VPUOVefHQQ-r?usp=sharing&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fracxbdyj9pqea7qbaacp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fracxbdyj9pqea7qbaacp.png" alt=" " width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;GitHub Repository: &lt;a href="https://github.com/srujankaleru2007/Chaos_Translator.git" rel="noopener noreferrer"&gt;https://github.com/srujankaleru2007/Chaos_Translator.git&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;The project uses a full-stack architecture:&lt;/p&gt;

&lt;p&gt;Frontend: Next.js, React, TypeScript, and Tailwind CSS.&lt;br&gt;
Backend: Python and FastAPI.&lt;br&gt;
Database: MongoDB Atlas for persistent storage.&lt;br&gt;
AI and Reasoning: Qwen 3.5 4B for lightweight extraction and GPT-OSS-20B through Groq for complex reasoning and cross-source analysis.&lt;br&gt;
Document Processing: Docling for document extraction.&lt;br&gt;
OCR: PyTesseract integration for image text extraction.&lt;br&gt;
Audio Processing: Faster-Whisper integration for speech transcription.&lt;/p&gt;

&lt;p&gt;The system follows a source-first architecture: extracted information retains its original source and evidence references, allowing the intelligence layer to connect findings without losing their provenance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff3i40t0e0j76e2s27ukt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff3i40t0e0j76e2s27ukt.png" alt=" " width="800" height="364"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0nxrw7irufk896ode5e5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0nxrw7irufk896ode5e5.png" alt=" " width="800" height="363"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd4ab8xluacmvpihu7soz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd4ab8xluacmvpihu7soz.png" alt=" " width="799" height="366"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh623dvt4m07lqraq1ic1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh623dvt4m07lqraq1ic1.png" alt=" " width="800" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Why Open Innovation Matters&lt;/p&gt;

&lt;p&gt;The project brings together open-source models, document-processing tools, and developer platforms to solve a practical problem.&lt;/p&gt;

&lt;p&gt;Rather than relying on a single closed system, it combines specialised tools and models into a modular architecture. This makes the platform easier to extend, inspect, and adapt.&lt;/p&gt;

&lt;p&gt;Categories&lt;br&gt;
GitHub Copilot&lt;br&gt;
ElevenLabs&lt;br&gt;
MongoDB&lt;/p&gt;

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