DEV Community

Labish Bardiya
Labish Bardiya

Posted on

I Built India's Missing Health App: Here's How I Finished It.

This is a submission for the GitHub Finish-Up-A-Thon Challenge

What I Built

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

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

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.

Five months later, I opened the repo again.

The code was a graveyard of // TODO comments and hardcoded demo data. But the idea 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.

What CureNet Does Today

  • 🔐 ABDM-Compliant Auth — Login with Aadhaar, mobile, ABHA number, or ABHA address. Real RSA-OAEP encryption. Real ABDM sandbox integration.
  • 📸 AI Document Scanner — 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.
  • 🤖 ABHAy AI — 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).
  • 🔒 Health Locker — Biometric-protected vault for your most sensitive records. Fingerprint or Face ID to access.
  • 📊 Health Trends — Biomarker tracking with interactive charts. Watch your HbA1c, blood pressure, or cholesterol trend over time.
  • 🚨 Emergency Digital Pass — One-tap emergency card with your allergies, medications, blood group, and emergency contact. Saveable as an image for your lock screen.
  • 🔑 Consent-Based Sharing — Grant doctors time-limited, scope-limited access to your records via QR code. Revoke anytime.
  • 🌐 Multilingual — Full UI and AI translation across all 22 scheduled Indian languages via Bhashini ULCA.

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


Demo

🔗 GitHub: github.com/labishbardiya/CureNet

🔗 GitHub Release: https://github.com/labishbardiya/CureNet/releases/tag/v2.0.0

📱 APK Download: Download CureNet APK

🖥️ Live Demo: https://youtu.be/QU5zbPB3XJw

🌐 Live Backend: curenet.onrender.com


The Comeback Story

Where It Was (January 2026)

When I paused CureNet in February, here's what "existed":

Feature Status
ABDM Login ✅ Working (barely) — single auth method, no encryption
AI Chat ⚠️ Basic Groq integration — hallucinated freely, no medical context
Document Scanner ❌ Camera opened but OCR was broken on 60%+ of documents
Health Records ⚠️ Hardcoded demo list — no real persistence
Health Locker ❌ Didn't exist
Emergency Pass ❌ Didn't exist
Multilingual ❌ English only
Consent Sharing ❌ Didn't exist
Health Trends ❌ Didn't exist
Backend ⚠️ Local only — no cloud deployment

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

What Changed (May–June 2026)

I rebuilt CureNet from the ground up — same codebase, completely different app. Here's the arc:

🧠 AI Architecture Overhaul

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

📸 Document Scanner Rebuilt

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

🏗️ 6 New Features

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

💅 Enterprise-Grade Polish

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

☁️ Cloud Deployment

  • Backend deployed to Render with Nginx SSE buffering fixes
  • MongoDB Atlas for persistent storage
  • ABDM Sandbox integration with live RSA-OAEP encryption

By The Numbers

Metric Before After
Dart files ~15 57
Lines of code ~3,000 13,654
Screens 5 28
Commits ~20 64
flutter analyze warnings 40+ 2 (structural only)
Supported languages 1 all 22
Auth methods 1 4
AI models used 1 (Groq) 3 (NIM Vision + Llama 3.3 + Gemma)

My Experience with GitHub Copilot

GitHub Copilot was my constant pair programmer throughout this finish-up. Here's specifically how it helped:

1. Boilerplate Acceleration

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

2. FHIR R4 Bundle Generation

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

3. Dart API Migrations

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

4. SharedPreferences Patterns

CureNet's offline-first architecture relies heavily on SharedPreferences for record persistence. Copilot learned the project's DataMode.storageKey() 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.

5. Copilot Chat for Debugging

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 proxy_buffering off directive immediately — a fix that would have taken me hours of Stack Overflow archaeology.

The Honest Take

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.

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.


CureNet is open for feedback. If you're building in Indian healthtech or working with ABDM, I'd love to connect.

📦 github.com/labishbardiya/CureNet

Top comments (0)