Devpost Story — CureNet


Inspiration

My grandmother keeps her medical records in a plastic bag: prescriptions from 2019, lab reports with coffee stains, and discharge summaries she can't read because they are in English. When she visited a new doctor last year, she forgot the bag at home. The doctor had no access to her history and was forced to order the exact same blood tests again.

This is not a unique problem. It is a systemic Indian healthcare crisis:

  • 78% of Indians have no portable digital health record of any kind (National Health Authority, 2024).
  • ₹26,037 Cr in insurance claims are denied annually due to missing or incomplete paper records (IRDAI, FY2024).
  • 32% of diagnostic tests are duplicated simply because previous results are inaccessible, sitting in paper drawers (NIH, 2023).

India's government already built the foundational rails to solve this: the Ayushman Bharat Digital Mission (ABDM) created the network registry, and the DPDP Act 2023 gave every citizen the legal right to own their health data. What was missing was a consumer-facing application layer to make this infrastructure accessible to a farmer in Rajasthan or a grandmother who only reads Bengali.

CureNet was built to bridge that gap.


What it does

CureNet turns physical medical documents into structured, portable, interoperable digital health data stored securely under your control.

  • Intelligent Document Digitization: Point your phone camera at a handwritten prescription, a printed lab report, or a complex hospital discharge summary. CureNet's OCR and AI pipeline reads the text, identifies key medical entities (drugs, dosages, frequencies, lab values, and diagnoses), and compiles them into a FHIR R4-compliant JSON bundle (the global healthcare data standard).
  • Retrieval-Augmented Health Assistant (ABHAy): A private AI health assistant that reads your actual records to answer questions (e.g., "What was my last HbA1c level?" or "When should I take my blood pressure pills?"). Powered by the Govt. of India's Bhashini ULCA translation layer, users can query and read their records in Hindi, Tamil, Bengali, and 10 other Indian languages.
  • Zero-Knowledge Security: All health records are encrypted using AES-256-GCM on-device, with decryption keys stored in the phone's hardware-backed secure enclave (Android Keystore / iOS Keychain).
  • Consent-Based Data Sharing: When sharing data with a doctor, they scan your QR code. You approve or deny the request. CureNet generates a time-limited Consent Artifact that automatically expires in 30 minutes, keeping your medical data private.
  • Longitudinal Biomarker Tracking: CureNet extracts raw values (blood glucose, lipids, thyroid metrics) from scanned lab reports and automatically plots trends over time to monitor chronic conditions.
  • Emergency Digital Pass: A one-tap emergency pass showing blood group, active allergies, current medications, and emergency contacts that can be saved directly to the device lock screen for paramedics.

How we built it

The Technical Stack

  • Frontend: Built with Next.js 16 (App Router), React 19, and TypeScript for strict type-safety. All layout styling is handled by scoped CSS Modules (zero Tailwind dependencies) to maintain a highly optimized, custom design system. Animations are powered by physics-based Framer Motion transitions.
  • Hosting: Deployed and scaled on Vercel with custom domain routing to jeevant.com and DNS caching managed via Cloudflare.
  • Database & Backend Security: We configured Firebase Firestore as our waitlist database. To ensure security, we deployed declarative security rules (firestore.rules) that enforce strict type checking, email format validation, size constraints (< 254 characters to prevent DoS attacks), and completely block client-side read, update, and delete access to protect subscriber privacy.
  • AI/ML Pipeline:
    1. Image Pre-processing: Contrast binarization and rotation correction.
    2. Layout Analysis: Document structuring using vision models.
    3. Medical NER (Named Entity Recognition): Extracts drug names, dosages, and diagnostic metrics.
    4. FHIR Parser: Maps extracted entities to standardized SNOMED CT and LOINC codes and structures them into FHIR R4 JSON.
  • Government Gateways: Integrated with the official ABDM Sandbox APIs across three core milestones:
    • Milestone 1 (M1): ABHA ID creation and mobile/Aadhaar OTP verification.
    • Milestone 2 (M2): Registering CureNet as a certified Health Information Provider (HIP) to link and upload signed FHIR bundles.
    • Milestone 3 (M3): Integrating as a Health Information User (HIU) to request and decrypt health data using symmetric key exchanges.

Challenges we ran into

1. Mixed-Script (Hinglish) Handwriting Recognition

Doctor prescriptions in India are notoriously illegible and frequently written in "Hinglish"—a mixture of English medical terms and Hindi dosage notes (e.g., "1 goli subah-shaam"). Standard OCR models failed on layout parsing and vocabulary. We had to optimize our pre-processing pipeline (adaptive thresholding) and leverage LLM layout alignment to properly extract drug-dosage structures.

2. ABDM Cryptographic Payload Handling

ABDM M3 data exchange requires strict cryptographic handshakes. Key exchange must follow a hybrid encryption model: generating ephemeral ECDH keys, establishing a shared secret, and decrypting the payloads on the client device. Integrating this asymmetric key-pair lifecycle cleanly within a mobile framework required extensive cryptographic debugging.

3. Entity Normalization & Standard Mapping

Indian doctors refer to identical chemical molecules by hundreds of different commercial brand names (e.g., "Crocin", "Calpol", "Pacimol" for Paracetamol). To make the FHIR R4 bundles interoperable with international systems, we built an entity resolution layer that translates commercial brands to their generic equivalents and assigns the correct SNOMED CT codes.


Accomplishments that we're proud of

  • Illegible Prescription Processing: Created an OCR pipeline that successfully parses messy handwritten doctor prescriptions.
  • Complete ABDM Sandbox Integration: Successfully cleared M1, M2, and M3 technical integrations, making the platform fully compatible with India's national health registry.
  • Secure waitlist on Vercel/Firestore: Deployed a production-ready landing page on jeevant.com with a fully active, rules-hardened Firestore waitlist database.
  • True Local-First Cryptography: Implemented AES-256 encryption keys that are tied directly to device hardware biometrics, meaning we never store your health data on our servers.

What we learned

  • Privacy by Design is Non-Negotiable: Under the Indian DPDP Act 2023, traditional central database models present a massive liability for medical data. Local-first encryption (where we route data but never store it) is the only secure architectural choice for health-tech.
  • The Rails are Ready: India's digital health infrastructure (ABDM, Bhashini APIs) is extremely mature. The bottleneck is not government backend technology, but rather human-centric design that translates these APIs into clear, accessible user interfaces.

What's next for CureNet

  • Family Vaults: Introduce role-based access control (RBAC) so users can manage records for children and elderly parents under a single account.
  • Automated Rx Schedules: Use the parsed FHIR medication structures to automatically generate medication reminders, dosage notifications, and refill alerts.
  • Direct HIU/HIP Syncing: Partner with diagnostic labs to push test results directly into the user's CureNet vault, bypassing paper altogether.
  • On-Device Models: Migrate document scanning models locally onto mobile hardware (CoreML/TensorFlow Lite) to allow offline record digitization in rural areas with poor connectivity.

Built With

  • abdm-apis-(m1/m2/m3)
  • aes-256-encryption
  • bhashini
  • biometric-authentication
  • css-modules
  • dpdp
  • fhir
  • fhir-r4
  • framer
  • hl7
  • next.js-14
  • nlp-for-medical-entity-extraction
  • ocr-pipeline
  • r4
  • react
  • snomed
  • translation
  • typescript
Share this project:

Updates