RetinaXAI
I turn vision models into clinical systemsI build more than a demo—every project gets services, registry, drift monitor, deploy pipeline
- retinaxai.me
- repository unavailable
problem
The challenge: grading diabetic retinopathy must be accurate and stay reliable even with real clinical use
I focus on results you can trust, not just numbers
- Handled 35,000+ fundus images from start to finish
- Built grading and segmentation models with PyTorch and EfficientNet-B3
- Explained each grade with Grad-CAM reviewed by clinicians
- Generated RAG reports with strong grounding
- Added 39 Prometheus metrics for live system health
pipeline
decisions
Split inference, orchestration, and clinical reporting into separate services.
tradeoffThree deploy units was harder to run locally than one monolith.
outcomeGPU-heavy inference scales without holding augmenting training work; each service ships through its own channel with its own GitHub Actions workflow.
Register every trained model to MLflow with evidently sessions attached.
tradeoffExtra tracking ceremony on each run.
outcomeA graded model can be traced to the exact augmented split and metric table that produced it, months after the fact.
Instrument the inference service with 39 Prometheus metrics and 13 alerts.
tradeoffNonzero overhead on the serving hot path.
outcomeA model that stops flagging drift, accuracy regression, or OOM condition triggers a page instead of a silent regression discovered in review.
Generate clinical reports via RAG over graded findings, not direct LLM generation.
tradeoffAn extra retrieval and rerank step before generation.
outcomeThe stated facts in a report come from graded findings, so hallucinated severity claims stay out of the record.
results
- macro AUC
- 0.867
- 7,022 held-out test images
- QWK
- 0.724
- agreement with clinician grades
- accuracy
- 78.7%
- five-class severity grading
- gross misgrading
- 0.85%
- grade-assigned patients misclassified adjacent-severity
- proliferative DR recall
- 64.5%
- with grade-aware Grad-CAM
- live metric series
- 542
- across 39 registered metrics, 13 alerts
stack
Modeling
- PyTorch
- timm
- EfficientNet-B3
- U-Net
- Grad-CAM
Training
- EyePACS
- stratified splits
- ordinal loss
- augmentation
MLOps
- MLflow
- Evidently
- ChromaDB
- LangChain
- Mistral-7B
Serving
- FastAPI
- PostgreSQL 16
- Docker
- Kubernetes
Observability
- Prometheus
- Grafana
- 13 alerts
Delivery
- GitHub Actions
- heroku.yml
- deploy workflows per service