Upload a skin photo and the AI will classify it into one of 7 lesion types.
SkinDx is an AI-powered web app that uses a fine-tuned ResNet-50 CNN model trained on the HAM10000 dataset to classify skin lesions into 7 categories.
- Upload skin lesion images β get predicted class and confidence.
- Supports 7 skin lesion types (
akiec
,bcc
,bkl
,df
,mel
,nv
,vasc
). - Confidence breakdown visualization with urgency indicators.
- πΈ Upload a skin lesion photo
- π Click Analyze
- π€ AI model (ResNet-50) predicts lesion type + confidence
- π Results shown in the app (class, risk, confidence, chart)
- Python 3.11.x (not 3.12+)
- uv package manager
- Docker Desktop
- Make:
winget install GnuWin32.Make
(Windows) |brew install make
(macOS) |sudo apt install make
(Linux) - GPU β model trained on RTX 5080
Runs with Docker Desktop (WSL2 on Windows recommended). This ensures consistent environments across systems.
Components:
- Streamlit β Web UI
- FastAPI β Model inference API
- Jupyter/MLflow β Notebooks & experiment tracking
Everything runs together via Docker Compose (already included in Docker Desktop).
Start with:
docker compose up --build
Or, if you prefer Makefile shortcuts:
make up
- Streamlit UI β
http://localhost:7860
- FastAPI Docs (Swagger UI) β
http://localhost:8000/api-docs
- Jupyter/MLflow (notebooks) β
http://localhost:8888
β οΈ The first time you start notebooks, Jupyter requires an access token. Copy the full URL with?token=...
from the container logs (shown in the terminal).
main.py
β FastAPI inference servicesrc/ui/
β Streamlit frontendsrc/model_loader.py
β HuggingFace model loadernotebooks/
β Data exploration, training & evaluationtests/
β Pytest unit/integration tests- Model hosted on HF:
https://huggingface.co/lisekarimi/resnet50-ham10000
- Data exploration (HAM10000 distribution)
- Class imbalance handling (smart augmentation)
- ResNet-50 training & tracking with MLflow
- External validation on ISIC 2019 dataset
This project includes a full CI/CD pipeline (tests, linting, security scans, deployment in Hugging Face).
Additional details are available here.