I built a chest X-ray diagnostic platform called ThoraxNet. It detects 14 thoracic pathologies from a single image, reports how confident it is using Monte Carlo Dropout, draws **GradCAM **heatmaps over the regions that drove each prediction, and writes a structured radiology report with an LLM.

The model was the interesting part to build. It was not the part that decided whether the thing felt like a product. That came down to one unglamorous number: how long a user waits after they hit "analyze."

This post is about how I took that wait from 6.4 seconds to 3.1 seconds, why the honest answer is "about 2x and not 10x," and the two bugs I only found because I stopped trusting the happy path and read the logs.

Live demo: https://thorax-tho.vercel.app

Code: https://github.com/Sowaiba-01/ThoraxNet