Inspiration

Healthcare in India is built on silos. A patient treated in Chennai carries a paper file. A cardiologist in Mumbai sees no history. A rural clinic has no idea there's a dengue cluster 10 km away. The data exists — it's just locked away in individual hospitals with no way to safely share it. We were inspired by the idea of federated intelligence — the same concept that lets Google train AI on your phone without ever seeing your photos. What if hospitals could contribute clinical knowledge to a shared network without ever exposing a single patient's identity? That question became inHand.

What it does

inHand is a federated medical intelligence platform with three user portals: Hospitals upload raw clinical reports → the AI scans for PII/PHI violations, anonymizes the data (Robert Chase → [PATIENT_NAME]), classifies the report (e.g., Gastroenterology, Clinical Note), and commits it to a shared intelligence graph Researchers browse the anonymized, classified dataset to identify trends, disease clusters, and policy gaps — without ever seeing real patient data Patients manage their own data sharing preferences and consent settings A built-in Gemini-powered medical chatbot lets hospital staff query the intelligence network in natural language. The entire UI supports English, Tamil, and Hindi.

How we built it

We built inHand in three layers: AI Pipeline (Gemini 2.5 Flash) Every uploaded report passes through a 3-stage pipeline — Compliance Scan → Auto-Classification → Federated Commit. Gemini acts as a Government Health Data Regulatory Agent, detecting and replacing sensitive fields with redacted tokens before any data touches the shared network. Backend (FastAPI + Python) A lightweight async API handles uploads, compliance scans, report retrieval, and chatbot messages. Data is persisted to a flat JSON store (NodeDB) — simple enough for an MVP, swappable for a real distributed DB. Frontend (React + Vite + Framer Motion) Three fully separate portals — hospital, patient, researcher — with a custom design system, animated transitions, a floating AI chatbot widget, and a live language switcher supporting EN/TA/HI.

Challenges we ran into

Model 404s mid-demo — gemini-1.5-flash was unavailable on our API key at runtime. We had to dynamically enumerate available models and switch to gemini-2.5-flash on the fly. Gemini response parsing — Early compliance scans returned inconsistent formats (prose, markdown, partial JSON). We iterated through strict prompt engineering until responses were reliably structured. CORS blocking — The frontend was blocked from the backend for hours due to middleware ordering in FastAPI. One-line fix, hours of debugging. Free tier quota burnout — We exhausted Gemini's free tier during testing, forcing us to switch API keys mid-session. Async UI feel — Making a 10-second AI call feel snappy required building an animated multi-stage loading state using Framer Motion.

Accomplishments that we're proud of

A fully working AI anonymization pipeline — real PII like names, IDs, and dates of birth are detected and redacted in real-time using Gemini Three complete user portals — hospital, patient, researcher — each with a distinct design identity Full multilingual support — English, Tamil, and Hindi with a live-switching i18n context system Institutional onboarding flow — domain verification + document upload for hospital signup A live AI chatbot embedded in the hospital portal, powered by Gemini 2.5 Flash Shipped a polished, demo-ready product end-to-end in a single hackathon

What we learned

Federated ≠ decentralized. Real federated learning involves differential privacy and model aggregation across nodes. Our MVP simulates this with anonymization, and we now understand the full engineering path forward. Multilingual UX is an architectural decision. Adding Tamil and Hindi after the fact forced a complete refactor into a React Context i18n system — it should have been designed in from day one. Free-tier limits are a real constraint, not just a footnote. Plan for quota exhaustion before it hits during a live demo.

What's next for inHand.

Real differential privacy — Apply $(\varepsilon, \delta)$-DP formally at the anonymization layer so the privacy guarantees are mathematically provable, not just prompt-based True federation — Replace the flat JSON store with a distributed node architecture (IPFS or Federated MongoDB) where hospitals each hold their own encrypted shard Researcher analytics dashboard — Trend graphs, disease heatmaps, and policy gap detection over the federated dataset Google Workspace SSO — Real institutional authentication with domain verification for hospital onboarding Mobile app for patients — Consent management and data sharing controls on the go Emergency intelligence alerts — Real-time notifications to nearby hospitals when outbreak patterns emerge from the federated graph

Built With

  • fastapi-(python)
  • framer-motion
  • google-gemini-2.5-flash-api
  • lucide-react
  • nodedb-(json)
  • react
  • react-+-typescript-+-vite
  • router
Share this project:

Updates

Submission history