<?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: Labish Bardiya</title>
    <description>The latest articles on DEV Community by Labish Bardiya (@labishbardiya).</description>
    <link>https://dev.to/labishbardiya</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%2F2153074%2Fb0cbdace-6f12-4d10-8344-1194326b57ba.png</url>
      <title>DEV Community: Labish Bardiya</title>
      <link>https://dev.to/labishbardiya</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/labishbardiya"/>
    <language>en</language>
    <item>
      <title>I Built India's Missing Health App: Here's How I Finished It.</title>
      <dc:creator>Labish Bardiya</dc:creator>
      <pubDate>Thu, 04 Jun 2026 10:52:14 +0000</pubDate>
      <link>https://dev.to/labishbardiya/i-built-indias-missing-health-app-heres-how-i-finished-it-3105</link>
      <guid>https://dev.to/labishbardiya/i-built-indias-missing-health-app-heres-how-i-finished-it-3105</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-05-21"&gt;GitHub Finish-Up-A-Thon Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;CureNet&lt;/strong&gt; — a mobile app that gives every Indian citizen real ownership of their medical records through the government's ABDM (Ayushman Bharat Digital Mission) infrastructure.&lt;/p&gt;

&lt;p&gt;The pitch is simple: &lt;strong&gt;scan any prescription with your phone camera, and CureNet converts it into a structured, FHIR R4-compliant digital health record&lt;/strong&gt; — linked to your ABHA (Ayushman Bharat Health Account). No manual data entry. No hospital portals. Just point, scan, own.&lt;/p&gt;

&lt;p&gt;It started as a semester project at university. We had 3 weeks. I built the ABDM authentication flow, a basic AI chat, and a records list — then ran out of time. The UI was rough, the scanner didn't work on half the documents, and the "AI assistant" hallucinated medical advice. I submitted what I had, got my grade, and moved on.&lt;/p&gt;

&lt;p&gt;Five months later, I opened the repo again. &lt;/p&gt;

&lt;p&gt;The code was a graveyard of &lt;code&gt;// TODO&lt;/code&gt; comments and hardcoded demo data. But the &lt;em&gt;idea&lt;/em&gt; was still good — 1.4 billion people in India have no portable health records. The government built the rails (ABDM), but nobody built a train that regular people would actually ride. So I decided to finish what I started.&lt;/p&gt;

&lt;h3&gt;
  
  
  What CureNet Does Today
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🔐 ABDM-Compliant Auth&lt;/strong&gt; — Login with Aadhaar, mobile, ABHA number, or ABHA address. Real RSA-OAEP encryption. Real ABDM sandbox integration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;📸 AI Document Scanner&lt;/strong&gt; — Point your camera at any prescription, lab report, or discharge summary. NVIDIA NIM Vision classifies the document, extracts medications, dosages, lab values, and diagnosis — and packages it all into FHIR R4 bundles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🤖 ABHAy AI&lt;/strong&gt; — A medical AI assistant that knows your health context. It reads your scanned records, understands your medications and conditions, and answers questions in your language (all 22 scheduled Indian languages via Bhashini ULCA).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔒 Health Locker&lt;/strong&gt; — Biometric-protected vault for your most sensitive records. Fingerprint or Face ID to access.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;📊 Health Trends&lt;/strong&gt; — Biomarker tracking with interactive charts. Watch your HbA1c, blood pressure, or cholesterol trend over time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🚨 Emergency Digital Pass&lt;/strong&gt; — One-tap emergency card with your allergies, medications, blood group, and emergency contact. Saveable as an image for your lock screen.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔑 Consent-Based Sharing&lt;/strong&gt; — Grant doctors time-limited, scope-limited access to your records via QR code. Revoke anytime.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🌐 Multilingual&lt;/strong&gt; — Full UI and AI translation across all 22 scheduled Indian languages via Bhashini ULCA.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tech Stack:&lt;/strong&gt; Flutter/Dart · Node.js/Express · MongoDB · NVIDIA NIM (Llama 3.2 90B Vision) · FHIR R4 · ABDM Sandbox · Bhashini ULCA · Render&lt;/p&gt;




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

&lt;p&gt;🔗 &lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/labishbardiya/CureNet" rel="noopener noreferrer"&gt;github.com/labishbardiya/CureNet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;GitHub Release:&lt;/strong&gt; &lt;a href="https://github.com/labishbardiya/CureNet/releases/tag/v2.0.0" rel="noopener noreferrer"&gt;https://github.com/labishbardiya/CureNet/releases/tag/v2.0.0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📱 &lt;strong&gt;APK Download:&lt;/strong&gt; &lt;a href="https://github.com/labishbardiya/CureNet/releases/download/v2.0.0/app-release.apk" rel="noopener noreferrer"&gt;Download CureNet APK&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🖥️ &lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://youtu.be/QU5zbPB3XJw" rel="noopener noreferrer"&gt;https://youtu.be/QU5zbPB3XJw&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🌐 &lt;strong&gt;Live Backend:&lt;/strong&gt; &lt;a href="https://curenet.onrender.com" rel="noopener noreferrer"&gt;curenet.onrender.com&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Comeback Story
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Where It Was (January 2026)
&lt;/h3&gt;

&lt;p&gt;When I paused CureNet in February, here's what "existed":&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;ABDM Login&lt;/td&gt;
&lt;td&gt;✅ Working (barely) — single auth method, no encryption&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI Chat&lt;/td&gt;
&lt;td&gt;⚠️ Basic Groq integration — hallucinated freely, no medical context&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Document Scanner&lt;/td&gt;
&lt;td&gt;❌ Camera opened but OCR was broken on 60%+ of documents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Health Records&lt;/td&gt;
&lt;td&gt;⚠️ Hardcoded demo list — no real persistence&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Health Locker&lt;/td&gt;
&lt;td&gt;❌ Didn't exist&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Emergency Pass&lt;/td&gt;
&lt;td&gt;❌ Didn't exist&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multilingual&lt;/td&gt;
&lt;td&gt;❌ English only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Consent Sharing&lt;/td&gt;
&lt;td&gt;❌ Didn't exist&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Health Trends&lt;/td&gt;
&lt;td&gt;❌ Didn't exist&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend&lt;/td&gt;
&lt;td&gt;⚠️ Local only — no cloud deployment&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The UI looked like a college prototype because it &lt;em&gt;was&lt;/em&gt; a college prototype. Text arrows (&lt;code&gt;←&lt;/code&gt;) instead of proper icons. Hardcoded names leaking everywhere. &lt;code&gt;print()&lt;/code&gt; statements in production code. Deprecated API calls. Unused imports stacked 10-deep in every file.&lt;/p&gt;

&lt;h3&gt;
  
  
  What Changed (May–June 2026)
&lt;/h3&gt;

&lt;p&gt;I rebuilt CureNet from the ground up — same codebase, completely different app. Here's the arc:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🧠 AI Architecture Overhaul&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Migrated from basic Groq completion to a &lt;strong&gt;Gold Standard Architecture&lt;/strong&gt;: NVIDIA NIM for vision OCR → Server-Sent Events for real-time streaming → smart routing across 3 API keys for rate-limit resilience.&lt;/li&gt;
&lt;li&gt;ABHAy AI now has full medical context — it reads your uploaded records, knows your medications, and grounds its responses in &lt;em&gt;your&lt;/em&gt; actual health data. No more hallucinations about medications you don't take.&lt;/li&gt;
&lt;li&gt;Added Bhashini ULCA pipeline &lt;strong&gt;real-time translation&lt;/strong&gt; across all 22 scheduled Indian languages. The AI responds in whatever language you ask in.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;📸 Document Scanner Rebuilt&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Replaced the broken OCR pipeline with NVIDIA NIM Llama 3.2 90B Vision.&lt;/li&gt;
&lt;li&gt;Added intelligent document classification: prescriptions, lab reports, discharge summaries — each parsed differently.&lt;/li&gt;
&lt;li&gt;Every scan produces a &lt;strong&gt;FHIR R4 Bundle&lt;/strong&gt; — the international healthcare data standard. Not just text extraction, but structured clinical data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🏗️ 6 New Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Health Locker with biometric authentication&lt;/li&gt;
&lt;li&gt;Interactive biomarker trends with fl_chart&lt;/li&gt;
&lt;li&gt;Emergency Digital Pass (screenshot-saveable)&lt;/li&gt;
&lt;li&gt;QR-based consent sharing with time-limited access grants&lt;/li&gt;
&lt;li&gt;Access request monitoring with real-time notifications&lt;/li&gt;
&lt;li&gt;Profile with editable medical information&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;💅 Enterprise-Grade Polish&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extracted shared bottom navigation into a reusable &lt;code&gt;CureNetBottomNav&lt;/code&gt; widget (eliminated ~210 lines of duplication across 7 screens)&lt;/li&gt;
&lt;li&gt;Replaced every &lt;code&gt;print()&lt;/code&gt; with &lt;code&gt;debugPrint()&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;Migrated all deprecated &lt;code&gt;withOpacity()&lt;/code&gt; calls to &lt;code&gt;withValues(alpha:)&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Removed every unused import, dead method, and orphaned variable&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;flutter analyze&lt;/code&gt;: &lt;strong&gt;0 errors, 0 warnings&lt;/strong&gt; (only 2 structural infos remain)&lt;/li&gt;
&lt;li&gt;Zero hardcoded demo data leaking to live users — all demo content gated behind identity checks&lt;/li&gt;
&lt;li&gt;Proper Material icons everywhere (no more text arrow "←" buttons)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;☁️ Cloud Deployment&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Backend deployed to Render with Nginx SSE buffering fixes&lt;/li&gt;
&lt;li&gt;MongoDB Atlas for persistent storage&lt;/li&gt;
&lt;li&gt;ABDM Sandbox integration with live RSA-OAEP encryption&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  By The Numbers
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Before&lt;/th&gt;
&lt;th&gt;After&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Dart files&lt;/td&gt;
&lt;td&gt;~15&lt;/td&gt;
&lt;td&gt;57&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lines of code&lt;/td&gt;
&lt;td&gt;~3,000&lt;/td&gt;
&lt;td&gt;13,654&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Screens&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Commits&lt;/td&gt;
&lt;td&gt;~20&lt;/td&gt;
&lt;td&gt;64&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;flutter analyze&lt;/code&gt; warnings&lt;/td&gt;
&lt;td&gt;40+&lt;/td&gt;
&lt;td&gt;2 (structural only)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Supported languages&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;all 22&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Auth methods&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI models used&lt;/td&gt;
&lt;td&gt;1 (Groq)&lt;/td&gt;
&lt;td&gt;3 (NIM Vision + Llama 3.3 + Gemma)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  My Experience with GitHub Copilot
&lt;/h2&gt;

&lt;p&gt;GitHub Copilot was my constant pair programmer throughout this finish-up. Here's specifically how it helped:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Boilerplate Acceleration
&lt;/h3&gt;

&lt;p&gt;Flutter is verbose. Every new screen needs a &lt;code&gt;StatefulWidget&lt;/code&gt;, &lt;code&gt;State&lt;/code&gt; class, &lt;code&gt;initState&lt;/code&gt;, &lt;code&gt;dispose&lt;/code&gt;, &lt;code&gt;build&lt;/code&gt; method, &lt;code&gt;Scaffold&lt;/code&gt;, &lt;code&gt;SafeArea&lt;/code&gt;... Copilot autocompleted these structural patterns instantly. For CureNet's 28 screens, that's hours saved on scaffolding alone.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. FHIR R4 Bundle Generation
&lt;/h3&gt;

&lt;p&gt;Writing FHIR-compliant JSON structures by hand is painful — deeply nested resources with strict field requirements. I'd type &lt;code&gt;createPrescriptionBundle(&lt;/code&gt; and Copilot would suggest the entire Bundle structure with proper &lt;code&gt;resourceType&lt;/code&gt;, &lt;code&gt;entry&lt;/code&gt; arrays, &lt;code&gt;Patient&lt;/code&gt;, &lt;code&gt;Practitioner&lt;/code&gt;, and &lt;code&gt;MedicationRequest&lt;/code&gt; resources. I still had to verify compliance, but the starting point was 90% correct.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Dart API Migrations
&lt;/h3&gt;

&lt;p&gt;Flutter's API evolves fast. Copilot caught deprecated patterns I didn't even know about — suggesting &lt;code&gt;withValues(alpha: 0.5)&lt;/code&gt; when I typed &lt;code&gt;withOpacity(&lt;/code&gt;, flagging &lt;code&gt;activeColor&lt;/code&gt; → &lt;code&gt;activeThumbColor&lt;/code&gt; on Switch widgets, and recommending &lt;code&gt;mounted&lt;/code&gt; guards on async &lt;code&gt;BuildContext&lt;/code&gt; usage. It acted like a real-time migration guide.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. SharedPreferences Patterns
&lt;/h3&gt;

&lt;p&gt;CureNet's offline-first architecture relies heavily on &lt;code&gt;SharedPreferences&lt;/code&gt; for record persistence. Copilot learned the project's &lt;code&gt;DataMode.storageKey()&lt;/code&gt; namespacing pattern and consistently suggested properly-namespaced keys. When I wrote save logic, it suggested the corresponding load logic with the correct JSON encoding patterns.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Copilot Chat for Debugging
&lt;/h3&gt;

&lt;p&gt;When my SSE (Server-Sent Events) streaming broke after deploying to Render, I pasted the Nginx config into Copilot Chat and asked "why is my SSE connection dropping after 30 seconds?" It identified the missing &lt;code&gt;proxy_buffering off&lt;/code&gt; directive immediately — a fix that would have taken me hours of Stack Overflow archaeology.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Honest Take
&lt;/h3&gt;

&lt;p&gt;Copilot didn't write CureNet. But it removed the friction that makes finishing a project so hard. The boring parts — boilerplate, type annotations, JSON parsing, import management — got handled in the background while I focused on the actual hard problems: ABDM cryptography, FHIR compliance, and making an AI assistant that doesn't hallucinate your medication list.&lt;/p&gt;

&lt;p&gt;That's exactly what "finishing" needs. Not a magic wand, but a tireless partner that handles the tedium so you can focus on the craft.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;CureNet is open for feedback.&lt;/strong&gt; If you're building in Indian healthtech or working with ABDM, I'd love to connect.&lt;/p&gt;

&lt;p&gt;📦 &lt;a href="https://github.com/labishbardiya/CureNet" rel="noopener noreferrer"&gt;github.com/labishbardiya/CureNet&lt;/a&gt;&lt;/p&gt;

</description>
      <category>githubfinishupathon</category>
      <category>flutter</category>
      <category>healthtech</category>
      <category>ai</category>
    </item>
    <item>
      <title>I built an AI SRE agent that joins GitHub + Sentry + Slack + PagerDuty in one SQL query</title>
      <dc:creator>Labish Bardiya</dc:creator>
      <pubDate>Mon, 01 Jun 2026 09:16:10 +0000</pubDate>
      <link>https://dev.to/labishbardiya/i-built-an-ai-sre-agent-that-joins-github-sentry-slack-pagerduty-in-one-sql-query-2pef</link>
      <guid>https://dev.to/labishbardiya/i-built-an-ai-sre-agent-that-joins-github-sentry-slack-pagerduty-in-one-sql-query-2pef</guid>
      <description>&lt;h2&gt;
  
  
  The Problem Every Engineer Knows
&lt;/h2&gt;

&lt;p&gt;It's 3am. PagerDuty fires. You're half-asleep, scrambling between tabs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: "Which PR went out last?"&lt;/li&gt;
&lt;li&gt;Sentry: "What's the stack trace?"&lt;/li&gt;
&lt;li&gt;Slack: "Did anyone else notice this?"&lt;/li&gt;
&lt;li&gt;PagerDuty: "How long has this been firing?"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You spend 60+ minutes context-switching between tools before you find root cause. The fix itself? 5 minutes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if you could find root cause in one query?&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing NexusOps
&lt;/h2&gt;

&lt;p&gt;NexusOps is an AI-powered SRE investigator that diagnoses production incidents in seconds. It joins data across GitHub, Sentry, Slack, and PagerDuty in a single SQL query — powered by &lt;a href="https://github.com/withcoral/coral" rel="noopener noreferrer"&gt;Coral&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://nexus-ops-seven.vercel.app" rel="noopener noreferrer"&gt;nexus-ops-seven.vercel.app&lt;/a&gt;&lt;br&gt;
📂 &lt;strong&gt;Source Code:&lt;/strong&gt; &lt;a href="https://github.com/labishbardiya/nexus-ops" rel="noopener noreferrer"&gt;github.com/labishbardiya/nexus-ops&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  What is Coral?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://withcoral.com" rel="noopener noreferrer"&gt;Coral&lt;/a&gt; is an open-source data retrieval layer that turns any API into a SQL table. Instead of writing custom integrations for each tool, you just write SQL:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;level&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;g&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pr_title&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;g&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;user__login&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;author&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;sentry&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;issues&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;
&lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;github&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pulls&lt;/span&gt; &lt;span class="k"&gt;g&lt;/span&gt;
  &lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="k"&gt;g&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;merged_at&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="nb"&gt;datetime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;first_seen&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'-24 hours'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;AND&lt;/span&gt; &lt;span class="k"&gt;g&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;merged_at&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;first_seen&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;level&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'fatal'&lt;/span&gt;
&lt;span class="k"&gt;ORDER&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;first_seen&lt;/span&gt; &lt;span class="k"&gt;DESC&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That single query:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hits GitHub's API for recent PRs&lt;/li&gt;
&lt;li&gt;Hits Sentry's API for fatal errors&lt;/li&gt;
&lt;li&gt;Correlates them by timestamp&lt;/li&gt;
&lt;li&gt;Returns the PR that likely caused each error&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No ETL. No data warehouse. No glue code. Coral handles auth, pagination, rate limits, and caching transparently.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌─────────────────────────────────────────────┐
│                  NexusOps                     │
├─────────────────────────────────────────────┤
│  Next.js 15 + TypeScript + Tailwind CSS      │
├─────────────────────────────────────────────┤
│  Groq AI (Natural Language → SQL)             │
├─────────────────────────────────────────────┤
│  Coral CLI (SQL execution layer)             │
├──────────┬──────────┬──────────┬────────────┤
│  GitHub  │  Sentry  │  Slack   │ PagerDuty  │
└──────────┴──────────┴──────────┴────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;How it works:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;User asks: "What caused last night's fatal error?"&lt;/li&gt;
&lt;li&gt;Groq AI converts the question to a Coral SQL query&lt;/li&gt;
&lt;li&gt;Coral executes the query across multiple sources simultaneously&lt;/li&gt;
&lt;li&gt;NexusOps renders the results + a Root Cause Timeline + AI explanation&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Root Cause Timeline
&lt;/h2&gt;

&lt;p&gt;This is the feature I'm most proud of. It's an SVG visualization that shows the causal chain across sources:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GitHub:    ●──── PR #342 merged ────────────────────────────
Sentry:         ●── TypeError ──── ●── Redis pool exhausted
PagerDuty:              ●── High urgency alert ─────────────
Slack:                       ●── "seeing errors" ── ●── "rolled back"
           ────────────────────────────────────────────────→ time
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The gap between the PR merge and the first error is the &lt;strong&gt;blast radius window&lt;/strong&gt;. You can see causality at a glance instead of mentally correlating timestamps across four different tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Coral Features Used
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Cross-Source JOINs
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="s1"&gt;'github'&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="k"&gt;source&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;g&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;event&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;g&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;merged_at&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nb"&gt;timestamp&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;github&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pulls&lt;/span&gt; &lt;span class="k"&gt;g&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="k"&gt;g&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;merged_at&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="nb"&gt;datetime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'now'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'-48 hours'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;UNION&lt;/span&gt; &lt;span class="k"&gt;ALL&lt;/span&gt;
&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="s1"&gt;'sentry'&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="k"&gt;source&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;event&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;first_seen&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nb"&gt;timestamp&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;sentry&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;issues&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;first_seen&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="nb"&gt;datetime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'now'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'-48 hours'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;UNION&lt;/span&gt; &lt;span class="k"&gt;ALL&lt;/span&gt;
&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="s1"&gt;'pagerduty'&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="k"&gt;source&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;event&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;created_at&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nb"&gt;timestamp&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;pagerduty&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;incidents&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;created_at&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="nb"&gt;datetime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'now'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'-48 hours'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;ORDER&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="nb"&gt;timestamp&lt;/span&gt; &lt;span class="k"&gt;DESC&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One query. Four sources. Correlated by time.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Schema Learning
&lt;/h3&gt;

&lt;p&gt;Coral automatically discovers the schema of each source. I didn't have to manually map GitHub's API response fields — Coral figured out that &lt;code&gt;github.pulls&lt;/code&gt; has columns like &lt;code&gt;number&lt;/code&gt;, &lt;code&gt;title&lt;/code&gt;, &lt;code&gt;state&lt;/code&gt;, &lt;code&gt;user__login&lt;/code&gt;, &lt;code&gt;merged_at&lt;/code&gt;, etc.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. 100% Local
&lt;/h3&gt;

&lt;p&gt;All credentials stay on my machine. Data never leaves my laptop. This is huge for enterprise use cases where you can't send production incident data to third-party services.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. CLI Integration
&lt;/h3&gt;

&lt;p&gt;NexusOps calls &lt;code&gt;coral sql "..."&lt;/code&gt; via Node.js &lt;code&gt;child_process&lt;/code&gt;. Simple, reliable, no SDK lock-in.&lt;/p&gt;

&lt;h2&gt;
  
  
  The NL-to-SQL Pipeline
&lt;/h2&gt;

&lt;p&gt;I used Groq with Llama 3.3 70B for the natural language to SQL conversion — it's free, fast (500+ tokens/sec), and excellent at structured SQL generation. The system prompt includes the full Coral schema, and the model generates valid SQL with the right table names, column names, and JOIN conditions.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Input:&lt;/strong&gt; "What PRs were merged in the last 24 hours?"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Output:&lt;/strong&gt; &lt;code&gt;SELECT number, title, user__login, merged_at FROM github.pulls WHERE owner = 'withcoral' AND repo = 'coral' AND merged_at &amp;gt;= datetime('now', '-24 hours') ORDER BY merged_at DESC LIMIT 20&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key insight: SQL is a much better intermediate representation than JSON or function calls for multi-source queries. It's composable, debuggable, and Coral handles the execution.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Choice&lt;/th&gt;
&lt;th&gt;Why&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;Next.js 15 + Tailwind CSS&lt;/td&gt;
&lt;td&gt;Fast, TypeScript-native&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI&lt;/td&gt;
&lt;td&gt;Groq (Llama 3.3 70B)&lt;/td&gt;
&lt;td&gt;Free, 500+ tokens/sec, great at structured SQL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data&lt;/td&gt;
&lt;td&gt;Coral CLI&lt;/td&gt;
&lt;td&gt;Cross-source SQL, local-first&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deploy&lt;/td&gt;
&lt;td&gt;Vercel&lt;/td&gt;
&lt;td&gt;One-command deployment&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;SQL is an underrated agent interface.&lt;/strong&gt; Most AI agent frameworks use function calling or tool chains. SQL is more powerful for data correlation because you get JOINs, aggregations, and filtering for free.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cross-source correlation is the hard problem.&lt;/strong&gt; Getting data from one API is easy. Correlating events across four APIs by timestamp, with different time zones and formats, is where the real engineering happens. Coral abstracts this entirely.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Local-first is a feature.&lt;/strong&gt; For SRE tools that handle production data, sending everything to a cloud service is a non-starter. Coral's local-first architecture isn't a limitation — it's a selling point.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Demo mode is essential.&lt;/strong&gt; Not everyone has Sentry + PagerDuty + Slack configured. Having realistic mock data lets people experience the product without setup.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Try It Yourself
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install Coral&lt;/span&gt;
brew &lt;span class="nb"&gt;install &lt;/span&gt;withcoral/tap/coral

&lt;span class="c"&gt;# Add GitHub source&lt;/span&gt;
coral &lt;span class="nb"&gt;source &lt;/span&gt;add github &lt;span class="nt"&gt;--interactive&lt;/span&gt;

&lt;span class="c"&gt;# Query live data&lt;/span&gt;
coral sql &lt;span class="s2"&gt;"SELECT number, title, state FROM github.pulls WHERE owner = 'withcoral' AND repo = 'coral' LIMIT 5"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Star Coral on GitHub: &lt;a href="https://github.com/withcoral/coral" rel="noopener noreferrer"&gt;github.com/withcoral/coral&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🔗 Live Demo: &lt;a href="https://nexus-ops-seven.vercel.app" rel="noopener noreferrer"&gt;nexus-ops-seven.vercel.app&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📂 Source: &lt;a href="https://github.com/labishbardiya/nexus-ops" rel="noopener noreferrer"&gt;github.com/labishbardiya/nexus-ops&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🪸 Coral: &lt;a href="https://withcoral.com" rel="noopener noreferrer"&gt;withcoral.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🏴‍☠️ Hackathon: &lt;a href="https://www.wemakedevs.org/hackathons/coral" rel="noopener noreferrer"&gt;WeMakeDevs x Coral&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Built for the WeMakeDevs "Pirates of the Coral-bean" Hackathon 2026.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>hackathon</category>
      <category>ai</category>
      <category>webdev</category>
      <category>opensource</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Labish Bardiya</dc:creator>
      <pubDate>Tue, 26 May 2026 08:19:49 +0000</pubDate>
      <link>https://dev.to/labishbardiya/-ke7</link>
      <guid>https://dev.to/labishbardiya/-ke7</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/labishbardiya/curenet-ai-decentralized-health-intelligence-for-india-powered-by-gemma-4-and-abha-standardization-4po9" class="crayons-story__hidden-navigation-link"&gt;CureNet AI: Decentralized Health Intelligence for India, Powered by Gemma 4 and ABHA Standardization&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
      &lt;a href="https://dev.to/labishbardiya/curenet-ai-decentralized-health-intelligence-for-india-powered-by-gemma-4-and-abha-standardization-4po9" class="crayons-article__context-note crayons-article__context-note__feed"&gt;&lt;p&gt;Gemma 4 Challenge: Build With Gemma 4 Submission&lt;/p&gt;

&lt;/a&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/labishbardiya" class="crayons-avatar  crayons-avatar--l  "&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2153074%2Fb0cbdace-6f12-4d10-8344-1194326b57ba.png" alt="labishbardiya profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/labishbardiya" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Labish Bardiya
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Labish Bardiya
                
              
              &lt;div id="story-author-preview-content-3742441" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/labishbardiya" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2153074%2Fb0cbdace-6f12-4d10-8344-1194326b57ba.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Labish Bardiya&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/labishbardiya/curenet-ai-decentralized-health-intelligence-for-india-powered-by-gemma-4-and-abha-standardization-4po9" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 24&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/labishbardiya/curenet-ai-decentralized-health-intelligence-for-india-powered-by-gemma-4-and-abha-standardization-4po9" id="article-link-3742441"&gt;
          CureNet AI: Decentralized Health Intelligence for India, Powered by Gemma 4 and ABHA Standardization
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/gemmachallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;gemmachallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/gemma"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;gemma&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/labishbardiya/curenet-ai-decentralized-health-intelligence-for-india-powered-by-gemma-4-and-abha-standardization-4po9" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;2&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/labishbardiya/curenet-ai-decentralized-health-intelligence-for-india-powered-by-gemma-4-and-abha-standardization-4po9#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              2&lt;span class="hidden s:inline"&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            4 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

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

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Labish Bardiya</dc:creator>
      <pubDate>Mon, 25 May 2026 07:17:10 +0000</pubDate>
      <link>https://dev.to/labishbardiya/-1ckb</link>
      <guid>https://dev.to/labishbardiya/-1ckb</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/labishbardiya/when-open-weights-ai-meets-a-broken-healthcare-system-deploying-gemma-4-in-rural-india-mg5" class="crayons-story__hidden-navigation-link"&gt;When Open-Weights AI Meets a Broken Healthcare System: Deploying Gemma 4 in Rural India&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
      &lt;a href="https://dev.to/labishbardiya/when-open-weights-ai-meets-a-broken-healthcare-system-deploying-gemma-4-in-rural-india-mg5" class="crayons-article__context-note crayons-article__context-note__feed"&gt;&lt;p&gt;Gemma 4 Challenge: Write about Gemma 4 Submission&lt;/p&gt;

&lt;/a&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/labishbardiya" class="crayons-avatar  crayons-avatar--l  "&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2153074%2Fb0cbdace-6f12-4d10-8344-1194326b57ba.png" alt="labishbardiya profile" class="crayons-avatar__image" width="400" height="400"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/labishbardiya" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Labish Bardiya
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Labish Bardiya
                
              
              &lt;div id="story-author-preview-content-3742439" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/labishbardiya" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2153074%2Fb0cbdace-6f12-4d10-8344-1194326b57ba.png" class="crayons-avatar__image" alt="" width="400" height="400"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Labish Bardiya&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/labishbardiya/when-open-weights-ai-meets-a-broken-healthcare-system-deploying-gemma-4-in-rural-india-mg5" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 24&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/labishbardiya/when-open-weights-ai-meets-a-broken-healthcare-system-deploying-gemma-4-in-rural-india-mg5" id="article-link-3742439"&gt;
          When Open-Weights AI Meets a Broken Healthcare System: Deploying Gemma 4 in Rural India
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/gemmachallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;gemmachallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/gemma"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;gemma&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/labishbardiya/when-open-weights-ai-meets-a-broken-healthcare-system-deploying-gemma-4-in-rural-india-mg5" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt;&amp;nbsp;reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/labishbardiya/when-open-weights-ai-meets-a-broken-healthcare-system-deploying-gemma-4-in-rural-india-mg5#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            6 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

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

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>CureNet AI: Decentralized Health Intelligence for India, Powered by Gemma 4 and ABHA Standardization</title>
      <dc:creator>Labish Bardiya</dc:creator>
      <pubDate>Sun, 24 May 2026 18:16:51 +0000</pubDate>
      <link>https://dev.to/labishbardiya/curenet-ai-decentralized-health-intelligence-for-india-powered-by-gemma-4-and-abha-standardization-4po9</link>
      <guid>https://dev.to/labishbardiya/curenet-ai-decentralized-health-intelligence-for-india-powered-by-gemma-4-and-abha-standardization-4po9</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/google-gemma-2026-05-06"&gt;Gemma 4 Challenge: Build with Gemma 4&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;CureNet AI is an ABDM-native, offline-first Health Intelligence platform built to unify fragmented medical records securely under the &lt;strong&gt;Ayushman Bharat Digital Mission (ABDM)&lt;/strong&gt; and &lt;strong&gt;FHIR R4 standards&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In rural India, reliable internet is a luxury. Prescriptions are handwritten. Lab reports fade on thermal paper. Patient histories exist as loose sheets in plastic folders. The consequences are measurable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;₹26,037 crore&lt;/strong&gt; in health insurance claims denied in a single year — ₹15,100 crore disallowed and ₹10,937 crore repudiated — largely due to incomplete documentation (IRDAI Annual Report, FY24)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;32% of patients&lt;/strong&gt; transferred between facilities with incompatible records undergo duplicate diagnostic testing within 12 hours (NIH peer-reviewed study)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;47%&lt;/strong&gt; of India's total health expenditure is paid out-of-pocket by patients — among the highest globally — inflated by repeated tests and fragmented care&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;~2 minute consultations&lt;/strong&gt; — overloaded OPDs force doctors to see 100+ patients in hours, leaving no time to reconstruct history from paper records (BMJ Open)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Less than 15%&lt;/strong&gt; of Indian hospitals have fully digitized medical record systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;CureNet AI solves this by deploying Gemma 4 edge intelligence directly into the local clinic ecosystem — no internet required.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Core Features Shipped
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Intelligent Local Ingestion&lt;/strong&gt;: Camera-based document scanning powered by &lt;code&gt;Gemma 4 31B Dense vision&lt;/code&gt;. Prescriptions and lab reports are analyzed directly by Gemma 4's multimodal capabilities — extracting medications, dosages, lab values, vitals, and diagnosis without any cloud dependency.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Structured Medical Parsing&lt;/strong&gt;: A custom FHIR R4 bundle builder generates ABDM-compliant Document Bundles containing &lt;code&gt;Patient&lt;/code&gt;, &lt;code&gt;Practitioner&lt;/code&gt;, &lt;code&gt;MedicationRequest&lt;/code&gt;, &lt;code&gt;Observation&lt;/code&gt;, and &lt;code&gt;DiagnosticReport&lt;/code&gt; resources — with &lt;code&gt;SNOMED CT&lt;/code&gt; medication codes and &lt;code&gt;LOINC&lt;/code&gt; lab test codes. Doctors can instantly verify whether a test was already performed — directly eliminating redundant diagnostics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Privacy-First Architecture&lt;/strong&gt;: &lt;code&gt;AES-256-GCM&lt;/code&gt; encrypted local database with keys stored in the device's hardware keystore. Custom ABDM crypto module for &lt;code&gt;RSA-OAEP&lt;/code&gt;, &lt;code&gt;ECDH X25519&lt;/code&gt;, and &lt;code&gt;AES-GCM&lt;/code&gt; encrypted data exchange. Full &lt;strong&gt;DPDP Act 2023&lt;/strong&gt; compliance — when Gemma 4 runs locally, zero patient data leaves the device.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Complete ABDM Integration&lt;/strong&gt;: Full &lt;code&gt;M1 + M2 + M3&lt;/code&gt; milestone compliance — ABHA creation via Aadhaar and Mobile OTP, care context linking, consent management, and encrypted health data exchange using V3 sandbox APIs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Offline-First Architecture&lt;/strong&gt;: Three-tier connectivity probing (&lt;code&gt;Ollama → Backend → Cloud&lt;/code&gt;) with automatic fallback. When fully offline, the AI serves responses from locally stored encrypted records. When online, cloud models act purely as fallback.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ABHAy AI Assistant&lt;/strong&gt;: RAG-augmented health chat running intent classification, web search, clinical atom retrieval, and semantic search all simultaneously — cutting response latency from &lt;code&gt;~12s to ~4s&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Accessible by Design&lt;/strong&gt;: High-contrast UI with large tap targets designed for senior citizens and low-literacy users. Full multilingual support across &lt;strong&gt;all 22 scheduled languages of India&lt;/strong&gt; via the &lt;code&gt;Bhashini API&lt;/code&gt;, with built-in &lt;code&gt;Text-to-Speech&lt;/code&gt; so patients who cannot read can hear their medical information in their own language.&lt;/p&gt;

&lt;h2&gt;
  
  
  Download App
&lt;/h2&gt;

&lt;p&gt;📱 &lt;strong&gt;&lt;a href="https://github.com/labishbardiya/CureNet/releases/tag/v1.0.0" rel="noopener noreferrer"&gt;Download APK (Android)&lt;/a&gt;&lt;/strong&gt; — Install on any Android device. All API keys pre-configured. No setup required.&lt;/p&gt;

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


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://drive.google.com/file/d/1lTobU9aG-y1ULy2W7DbBKxv1XuaVOGln/view?usp=sharing" rel="noopener noreferrer" class="c-link"&gt;
            demo.mov - Google Drive
          &lt;/a&gt;
        &lt;/h2&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fssl.gstatic.com%2Fimages%2Fbranding%2Fproduct%2F1x%2Fdrive_2020q4_32dp.png" width="32" height="32"&gt;
          drive.google.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


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

&lt;p&gt;👉 GitHub Repository: &lt;a href="https://github.com/labishbardiya/CureNet" rel="noopener noreferrer"&gt;https://github.com/labishbardiya/CureNet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📦 &lt;strong&gt;&lt;a href="https://github.com/labishbardiya/CureNet-AI/releases/tag/v1.0.0" rel="noopener noreferrer"&gt;Download Release APK (v1.0.0)&lt;/a&gt;&lt;/strong&gt; — Ready-to-install Android build with all features enabled.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Used Gemma 4
&lt;/h2&gt;

&lt;p&gt;Medical records demand &lt;strong&gt;zero leakages&lt;/strong&gt; and &lt;strong&gt;low latency&lt;/strong&gt;. Gemma 4 acts as the core, private intelligence engine — running entirely locally via Ollama with no patient data ever leaving the device.&lt;/p&gt;

&lt;p&gt;We split reasoning between edge and workstation environments using two models:&lt;/p&gt;

&lt;h3&gt;
  
  
  Gemma 4 E4B (Effective 4B) — On-Device Edge Intelligence
&lt;/h3&gt;

&lt;p&gt;We run Gemma 4 E4B (&lt;code&gt;gemma4:e4b&lt;/code&gt;) via Ollama for low-latency tasks on the local machine.&lt;/p&gt;

&lt;p&gt;🤔 &lt;em&gt;Why E4B?&lt;/em&gt; With its &lt;strong&gt;Per-Layer Embeddings (PLE)&lt;/strong&gt;, E4B packs frontier-level logic into a &lt;code&gt;~3 GB&lt;/code&gt; memory footprint. Its &lt;code&gt;128K context window&lt;/code&gt; handles large clinical data logs while running &lt;code&gt;natively offline&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;🤔 &lt;em&gt;How it's used?&lt;/em&gt; It acts as our &lt;strong&gt;first-tier intent classifier&lt;/strong&gt; — categorizing every user query into &lt;code&gt;MEDICAL_QUERY&lt;/code&gt;, &lt;code&gt;GENERAL_CHAT&lt;/code&gt;, or &lt;code&gt;APP_HELP&lt;/code&gt; in under 2 seconds. This determines whether the full RAG pipeline activates. It also handles chat title generation and serves as an automatic failover when the 31B model is overloaded — ensuring the experience never breaks.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gemma 4 31B Dense — Medical Extraction &amp;amp; FHIR R4 Conversion
&lt;/h3&gt;

&lt;p&gt;On the clinic workstation backend, we deploy Gemma 4 31B Dense (&lt;code&gt;gemma4:31b&lt;/code&gt;) via Ollama for complex clinical intelligence.&lt;/p&gt;

&lt;p&gt;🤔 &lt;em&gt;Why 31B Dense?&lt;/em&gt; &lt;strong&gt;Medical records cannot tolerate routing gaps or hallucination.&lt;/strong&gt; The Dense architecture processes every token through all 31 billion parameters with a &lt;code&gt;256K context window&lt;/code&gt; — unlike MoE variants that risk dropping clinical context. When a missed medication has patient safety implications, Dense is the correct choice.&lt;/p&gt;

&lt;p&gt;🤔 &lt;em&gt;How it's used?&lt;/em&gt; Two critical paths. &lt;strong&gt;First&lt;/strong&gt;, it processes prescription and lab report &lt;strong&gt;images directly&lt;/strong&gt; using multimodal vision via a zero-shot structure prompt — extracting patient info, medications with dosage/frequency/duration/route, lab results with values/units/reference ranges, vitals, diagnosis, and follow-up instructions. Indian patterns like &lt;code&gt;1+0+1&lt;/code&gt; (morning/afternoon/night) are parsed correctly. Brand names like "Crocin" map to their SNOMED CT active ingredient codes. &lt;strong&gt;Second&lt;/strong&gt;, it powers the &lt;strong&gt;ABHAy RAG assistant&lt;/strong&gt; for medical reasoning with full clinical context from the patient's encrypted local records. All outputs feed into our FHIR R4 builder, generating strict &lt;strong&gt;ABDM-compliant bundles&lt;/strong&gt; with &lt;code&gt;SNOMED CT&lt;/code&gt; and &lt;code&gt;LOINC&lt;/code&gt; coding.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>gemmachallenge</category>
      <category>gemma</category>
    </item>
    <item>
      <title>When Open-Weights AI Meets a Broken Healthcare System: Deploying Gemma 4 in Rural India</title>
      <dc:creator>Labish Bardiya</dc:creator>
      <pubDate>Sun, 24 May 2026 18:16:28 +0000</pubDate>
      <link>https://dev.to/labishbardiya/when-open-weights-ai-meets-a-broken-healthcare-system-deploying-gemma-4-in-rural-india-mg5</link>
      <guid>https://dev.to/labishbardiya/when-open-weights-ai-meets-a-broken-healthcare-system-deploying-gemma-4-in-rural-india-mg5</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/google-gemma-2026-05-06"&gt;Gemma 4 Challenge: Write About Gemma 4&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;India's healthcare system is hemorrhaging money, time, and trust at an industrial scale.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;₹26,037 crore&lt;/strong&gt; in health insurance claims denied in FY 2023-24 alone — ₹15,100 crore disallowed and ₹10,937 crore repudiated — largely because of incomplete documentation and missing medical history (IRDAI Annual Report)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;32% of patients&lt;/strong&gt; transferred between facilities with incompatible record systems undergo duplicate diagnostic testing within 12 hours, with 20% of those duplicates being clinically unnecessary (NIH peer-reviewed study)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;47%&lt;/strong&gt; of India's total health expenditure is paid out-of-pocket by patients — among the highest rates globally — inflated by repeated tests and fragmented care&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;~2 minute consultations&lt;/strong&gt; — overloaded OPDs force doctors to see 100+ patients in hours, leaving no time to reconstruct a patient's history from paper records (BMJ Open)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Less than 15%&lt;/strong&gt; of Indian hospitals have fully digitized medical record systems&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;8,600+ cyberattacks per week&lt;/strong&gt; targeting Indian healthcare institutions — significantly above the global average&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These numbers describe a system where the absence of structured, portable, digital health records is not an inconvenience — it is a systemic failure with measurable financial and human cost.&lt;/p&gt;

&lt;p&gt;This article documents what happened when we deployed Gemma 4 as the AI backbone of &lt;strong&gt;CureNet AI&lt;/strong&gt; — an offline-first, ABDM-native health intelligence platform built to operate in exactly these conditions.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Local Inference Is Not Optional
&lt;/h2&gt;

&lt;p&gt;The conventional approach to AI-powered healthcare is straightforward: send patient data to a cloud API, receive structured output. This fails in India for three reasons.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No internet.&lt;/strong&gt; Thousands of rural clinics lack reliable connectivity. A cloud-dependent system is a non-functional system in the settings where digitization is needed most.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No legal basis.&lt;/strong&gt; The &lt;strong&gt;Digital Personal Data Protection (DPDP) Act, 2023&lt;/strong&gt; mandates free, specific, informed, unconditional, and unambiguous consent before processing personal data. Transmitting sensitive medical records to third-party cloud APIs introduces consent complexities that most health-tech platforms have not addressed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No security guarantee.&lt;/strong&gt; The AIIMS Delhi ransomware attack (2022) affected 30-40 million patient records. The Star Health Insurance breach (2024) compromised 31 million records. Centralized medical data is a high-value target.&lt;/p&gt;

&lt;p&gt;Gemma 4's open-weights release under Apache 2.0 eliminates all three problems. The model runs locally. The data never leaves the device. There is no third-party processor to consent to.&lt;/p&gt;




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


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://drive.google.com/file/d/1lTobU9aG-y1ULy2W7DbBKxv1XuaVOGln/view?usp=sharing" rel="noopener noreferrer" class="c-link"&gt;
            demo.mov - Google Drive
          &lt;/a&gt;
        &lt;/h2&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fssl.gstatic.com%2Fimages%2Fbranding%2Fproduct%2F1x%2Fdrive_2020q4_32dp.png" width="32" height="32"&gt;
          drive.google.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


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

&lt;p&gt;👉 GitHub Repository: &lt;a href="https://github.com/labishbardiya/CureNet" rel="noopener noreferrer"&gt;https://github.com/labishbardiya/CureNet&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Choosing Between E4B and 31B Dense
&lt;/h2&gt;

&lt;p&gt;Gemma 4 ships in multiple variants. Selecting the right one for each task was a critical architectural decision in CureNet.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gemma 4 E4B: The Edge Workhorse
&lt;/h3&gt;

&lt;p&gt;The E4B model (&lt;code&gt;gemma4:e4b&lt;/code&gt;) occupies approximately 3 GB in memory. Its Per-Layer Embeddings (PLE) architecture packs frontier-level reasoning into a footprint that can run alongside a Flutter mobile UI without starving the rendering thread.&lt;/p&gt;

&lt;p&gt;We use E4B for three tasks:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Task&lt;/th&gt;
&lt;th&gt;Latency&lt;/th&gt;
&lt;th&gt;Why E4B Works&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Intent classification&lt;/td&gt;
&lt;td&gt;&amp;lt; 2 seconds&lt;/td&gt;
&lt;td&gt;High-frequency — every message triggers this&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Chat title generation&lt;/td&gt;
&lt;td&gt;&amp;lt; 1 second&lt;/td&gt;
&lt;td&gt;Lightweight — no clinical reasoning needed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rate-limit failover&lt;/td&gt;
&lt;td&gt;Automatic&lt;/td&gt;
&lt;td&gt;When 31B is overloaded, E4B takes over&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The 128K context window is more than sufficient for these tasks. E4B classifies every inbound user message into one of three channels — &lt;code&gt;MEDICAL_QUERY&lt;/code&gt;, &lt;code&gt;GENERAL_CHAT&lt;/code&gt;, or &lt;code&gt;APP_HELP&lt;/code&gt; — which determines whether the full RAG pipeline is activated.&lt;/p&gt;

&lt;p&gt;The key insight: &lt;strong&gt;E4B is not a compromise model.&lt;/strong&gt; For classification and short-generation tasks, its accuracy is indistinguishable from the 31B variant at a fraction of the latency and memory cost.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gemma 4 31B Dense: The Clinical Backbone
&lt;/h3&gt;

&lt;p&gt;The 31B Dense model (&lt;code&gt;gemma4:31b&lt;/code&gt;) handles the heavy clinical work. We chose Dense over the 26B MoE variant for a specific reason: &lt;strong&gt;medical records cannot tolerate routing gaps.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In a Mixture-of-Experts architecture, each token is routed to a subset of the parameter space. For general-purpose text, this is efficient. For medical entity extraction — where a missed medication name, a misread dosage, or a dropped lab value has direct patient safety implications — we need every token processed through the full parameter grid.&lt;/p&gt;

&lt;p&gt;The 31B Dense model serves two critical functions:&lt;/p&gt;




&lt;h3&gt;
  
  
  Function 1: Multimodal Medical Extraction
&lt;/h3&gt;

&lt;p&gt;The model processes prescription and lab report images directly using a zero-shot structure prompt. No OCR preprocessing is required — Gemma 4's vision capabilities handle the image natively.&lt;/p&gt;

&lt;p&gt;The extraction prompt instructs the model to identify the document type and extract every clinical entity into a strict JSON schema:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"medications"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Amoxicillin"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"dosage"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"500mg"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"frequency"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"1+0+1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"duration"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"5 days"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"route"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"oral"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"lab_results"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"test_name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"HbA1c"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"value"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"6.8"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"unit"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"%"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"reference_range"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"4.0-5.6"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This output feeds into a FHIR R4 bundle builder that maps each entity to the correct FHIR resource with SNOMED CT and LOINC coding. Indian prescription patterns like &lt;code&gt;1+0+1&lt;/code&gt; (morning + afternoon + night) are parsed correctly. Brand names like "Crocin" map to active ingredient SNOMED codes (Paracetamol → &lt;code&gt;387517004&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;When a doctor opens a patient's profile, they see a structured timeline of every previous lab test and medication — instantly verifiable before ordering a new test. This is how you address the 32% duplicate testing problem documented in peer-reviewed literature.&lt;/p&gt;




&lt;h3&gt;
  
  
  Function 2: RAG-Augmented Medical Reasoning
&lt;/h3&gt;

&lt;p&gt;The ABHAy AI assistant uses 31B for complex medical queries. The system runs a parallel pipeline — intent classification via E4B, web search via Tavily, clinical atom retrieval from the encrypted local database, and semantic search via vector embeddings — all execute concurrently.&lt;/p&gt;

&lt;p&gt;This parallel architecture cuts end-to-end latency from approximately 12 seconds (sequential) to under 4 seconds. The 256K context window accommodates the full aggregated context without truncation.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Routing Architecture
&lt;/h2&gt;

&lt;p&gt;The system does not assume Ollama is always available. A connectivity service probes three tiers in parallel on startup:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tier&lt;/th&gt;
&lt;th&gt;Target&lt;/th&gt;
&lt;th&gt;Timeout&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Edge&lt;/td&gt;
&lt;td&gt;Ollama (localhost)&lt;/td&gt;
&lt;td&gt;2s&lt;/td&gt;
&lt;td&gt;Local Gemma 4 inference&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LAN&lt;/td&gt;
&lt;td&gt;Backend (localhost)&lt;/td&gt;
&lt;td&gt;2s&lt;/td&gt;
&lt;td&gt;FHIR pipeline&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cloud&lt;/td&gt;
&lt;td&gt;Groq API&lt;/td&gt;
&lt;td&gt;3s&lt;/td&gt;
&lt;td&gt;Fallback AI&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Results are cached for 30 seconds. Based on availability, the app operates in one of four modes:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Mode&lt;/th&gt;
&lt;th&gt;What Works&lt;/th&gt;
&lt;th&gt;Cloud Dependency&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Full Edge&lt;/td&gt;
&lt;td&gt;All features via Ollama + Backend&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Edge + Cloud&lt;/td&gt;
&lt;td&gt;AI local; ABDM and Bhashini via cloud&lt;/td&gt;
&lt;td&gt;Partial&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cloud Only&lt;/td&gt;
&lt;td&gt;Groq fallback handles AI&lt;/td&gt;
&lt;td&gt;Full&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fully Offline&lt;/td&gt;
&lt;td&gt;Serves local encrypted records&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;When Groq is used as fallback, the model mapping is:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Local Model&lt;/th&gt;
&lt;th&gt;Cloud Fallback&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;gemma4:e4b&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;llama-3.1-8b-instant&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;gemma4:31b&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;llama-3.3-70b-versatile&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The app never crashes due to network state. Every code path handles the offline case gracefully.&lt;/p&gt;




&lt;h2&gt;
  
  
  Accessibility: Designing for 1.4 Billion People
&lt;/h2&gt;

&lt;p&gt;Healthcare AI that only works in English on modern smartphones is not healthcare AI for India.&lt;/p&gt;

&lt;p&gt;CureNet was designed for the patients who need it most — senior citizens, low-literacy users, and non-English speakers in rural settings.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multilingual support across all 22 scheduled languages of India.&lt;/strong&gt; Every screen, every label, and every AI response is translated in real-time via the &lt;strong&gt;Bhashini Translation API&lt;/strong&gt; — the government's own language infrastructure covering Hindi, Bengali, Tamil, Telugu, Marathi, Gujarati, Kannada, Malayalam, Odia, Punjabi, Assamese, and all other constitutionally recognized languages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Built-in Text-to-Speech.&lt;/strong&gt; For patients who cannot read — or whose eyesight makes reading a phone screen difficult — the Bhashini TTS engine reads medical information aloud in the patient's own language.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;High-contrast, large-target UI.&lt;/strong&gt; The interface uses oversized tap targets, high-contrast color pairs, and clear typographic hierarchy. No small text, no dense layouts, no gestures requiring fine motor control. This is not an aesthetic choice — it is a clinical requirement for a user base where the median patient may be a 60-year-old with presbyopia.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Language persistence.&lt;/strong&gt; Once a patient selects their language, it persists across sessions. They never need to reconfigure.&lt;/p&gt;




&lt;h2&gt;
  
  
  DPDP Act 2023: Why This Architecture Is Legally Required
&lt;/h2&gt;

&lt;p&gt;The Digital Personal Data Protection Act, 2023 fundamentally changes the legal landscape for health-tech in India:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Purpose-specific consent&lt;/strong&gt; — no bundled authorization forms&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data minimization&lt;/strong&gt; — collect only what is clinically necessary&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Right to withdraw&lt;/strong&gt; — patients can revoke consent at any time&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Breach notification&lt;/strong&gt; — mandatory reporting to the Data Protection Board&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CureNet's architecture is inherently compliant because data processing happens locally. When Gemma 4 runs via Ollama, there is no third-party data processor. The patient physically controls their data on their device. Encryption keys live in the hardware keystore. Clinical data is encrypted with AES-256-GCM before touching disk.&lt;/p&gt;

&lt;p&gt;Under the DPDP Act, local-first processing is not a feature — it is a legal requirement that most cloud-first health platforms will struggle to meet.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Open-Weights Models at This Level Mean for Healthcare
&lt;/h2&gt;

&lt;p&gt;Before Gemma 4, deploying a model capable of reliable medical entity extraction required either a cloud API subscription with data governance concerns, or fine-tuning a smaller open model that could not match the quality needed for clinical safety.&lt;/p&gt;

&lt;p&gt;Gemma 4 31B Dense changes this equation. A single clinic workstation with 32 GB of RAM can run a model that processes multimodal inputs natively, maintains a 256K context window, produces output reliable enough for FHIR R4 compliance, and runs entirely offline under Apache 2.0.&lt;/p&gt;

&lt;p&gt;For healthcare in India — where over 100 crore health records are now linked to ABHA IDs, but the vast majority of clinical encounters still produce paper — this is the infrastructure that makes digitization possible without cloud dependency.&lt;/p&gt;

&lt;p&gt;Every handwritten prescription becomes a structured, searchable, ABDM-compliant record. Every duplicate test prevented. Every claim denial avoided. Every patient's data stays on their device, spoken back to them in their own language.&lt;/p&gt;

&lt;p&gt;That is what open-weights AI at frontier capability makes possible.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>gemmachallenge</category>
      <category>gemma</category>
    </item>
  </channel>
</rss>
