All work

Computer Vision · Healthcare

FundusAI

AI-assisted retinal screening

Upload a retinal photograph, get a severity grade, a confidence figure, and a heatmap showing where the model looked.

Why

Retinal screening is bottlenecked by the number of specialists available to read images, not by the reading itself. The useful question isn't whether AI can grade a scan — it's whose scan gets looked at first.

How it works

  1. Refuse what isn't a retina

    Every fundus camera leaves a circular aperture. Uploads without one are rejected before the model ever runs.

  2. Check the image is readable

    Focus and exposure are measured on the retinal disc. Poor scans are flagged, not silently graded.

  3. Grade it

    An EfficientNet-B0 returns a 0–4 severity grade with a confidence figure.

  4. Show the reasoning

    Grad-CAM highlights the regions that drove the prediction, from the same pass that produced it.

  5. Rank for review

    Referable and low-confidence cases rise to the top of the worklist for a human to see first.

What it looks like

The deployed app.
Original, model input, and what the model attended to.
And one it gets wrong — kept in on purpose.

Built with

  • PyTorch
  • EfficientNet-B0
  • Grad-CAM
  • OpenCV
  • FastAPI
  • React
  • Groq
  • Render

Try it

Try it yourself

Deployed

Live on Render's free tier. The API sleeps when idle, so the first scan after a quiet spell takes about a minute to wake.

Opens in a new tab. Status isn't checked automatically — probing a sleeping free-tier service is what wakes it, and its monthly hours are finite.

Scope

Research prototype — not a medical device, and not a substitute for an ophthalmologist. A grade 0 result means no referable disease was found in that image, which is not the same as an all-clear.

Next