all work
shipped[2025]14

DrishtiAI

Eye disease detection via vision agents. WebRTC, sub-1s, rural India.

Problem

ASHA health workers in rural India need to perform eye screenings without specialist access, on basic smartphones.

Built

4-service monorepo (Django, FastAPI, React Native, React Web) with a 5-layer computer vision pipeline. Ingest, preprocessing, inference, postprocessing, and multilingual voice output, all delivered over WebRTC.

sub-1s

response over WebRTC

5-layer

CV pipeline

multilingual

voice guidance

4-service

monorepo

The build

[Idea]

DrishtiAI was a 7-day build, and the constraint shaped everything. India has 12 million blind people, the largest blind population globally, and 80% of that blindness is preventable or treatable. The bottleneck isn't medicine or surgical capacity. It's early detection. ASHA workers visit every rural household but had no standardized AI-assisted screening tool.

[Framing]

The 7-day clock came from a hackathon framing (we were building for a friend's grant deadline), so the design had to be ruthlessly scoped. An ASHA app that records an eye exam, a server-side model that screens in real time, and a PHC dashboard that lets an admin review flagged cases. The Vision Agent runs at 3 FPS through 5 layers. MediaPipe Face Mesh for the 478-landmark eye ROI. OpenCV for JECI jaundice scoring and scleral redness. Roboflow inference for cataract, leukocoria, and strabismus classification (max 2 calls per session, these are slow). Moondream VQA for descriptive conditions. Gemini 2.5 Flash for clinical synthesis.

[Build]

The 5-layer design deliberately balances latency (layers 1-2 every frame) with accuracy (layer 3 throttled). WebRTC over Stream SDK carries the Android camera stream to a FastAPI service which runs the agent. The Django backend handles the relational side: family registry, session history, PHC admin API. The ASHA worker doesn't pick the conditions. They're auto-selected based on age, gender, pregnancy, and lactation. Multilingual voice (Hindi and Bengali) walks through the 7-step protocol. Every session ends with a referral recommendation, even when no findings are detected.

[Deploy]

We use Prometheus and Grafana to monitor per-layer latency, and that's where we catch regressions. The 4-service monorepo (Django, FastAPI, React Native, React Web) shipped via 9 Docker Compose services with one-command deploy.

[What's next]

What's next, if I keep going. HMAC-signed session audit logs. Real auth on the dashboard. A PoC of multi-tenant per-state deployment (Bengal first, then UP). The Medium write-up of the build is live, and it's the most-read thing on my Medium.

Stack

7 techs · grouped by layer

Backend

  • Django
  • FastAPI
  • WebSocket
  • WebRTC
  • RabbitMQ

Data layer

  • PostgreSQL

AI / special

  • OpenCV

Also used

React NativeReact WebDocker

Links

Related writing

1 post reference DrishtiAI

Related stack

techs used in DrishtiAI