Inspiration

Malaria is still a major problem in Benin: it remains one of the leading causes of consultation and hospitalization, and it mainly affects children and pregnant women. For a technician, diagnosis is crucial because a wrong count can lead to wrong treatment. Today, counting parasites under the microscope is difficult: it is tiring for the eyes, it takes time, and the result depends heavily on the technician's experience. On a thick smear, parasites can be rare and hard to distinguish from artifacts. I wanted to build something that helps technicians count faster and more reliably, without taking the decision away from them.

What it does

MalariaScope is an application that assists laboratory technicians in counting malaria parasites. The technician sends a photo of the slide, and the app automatically detects the parasites and offers an assisted count.

On screen, the blue circles mark the white blood cells and the red circles mark the parasites — the colors distinguish the two types of objects, they do not indicate a level of confidence. The technician can remove or add marks because the application is an aid, not a judge: he is the one responsible for the final diagnosis and who corrects the machine's errors.

The counter counts white blood cells, not parasites. It follows the WHO rule: you count parasites until you have seen 200 white blood cells. If fewer than 100 parasites have been seen at that point, the application asks you to continue up to 500 white blood cells. The density is then parasites × 8,000 ÷ white blood cells, per µL.

At the end, the technician gets a report containing the density in parasites/µL, the number of fields, white blood cells and parasites, and a field-by-field table. The annotated images only appear during counting, as thumbnails. He must tick "reviewed" for the report to be final, because this confirms that a human has checked and approved the result before it is used for the clinical decision.

How we built it

I started by planning before writing any code: I defined the scope, wrote a PRD and a spec, and broke the work into clear steps. For the analysis, I used Python and OpenCV to process the slide images and detect parasites and white blood cells. I tuned the pipeline on 6 patients and tested it on 4 others to check that it generalized. Finally, I deployed the application on Vercel.

Challenges we ran into

The biggest challenge was JPEG compression: it erased the smallest parasites and made detection unreliable. I also struggled with false alerts on slides that were poor in parasites, where artifacts were picked up as real objects. These problems forced me to be careful about image quality and to keep the technician in the loop rather than pretending the app was always right

Accomplishments that we're proud of

I am proud that MalariaScope follows a real WHO counting rule instead of just detecting objects, and that it produces a usable report with density per µL. I am also proud that I kept the tool honest: the technician can correct every mark, and nothing is final until a human ticks "reviewed.

What we learned

I learned how much planning before coding matters. Writing the scope, the PRD and the spec first saved me time and kept me focused when the technical problems appeared. I also learned that in health, transparency is essential: a tool that is honest about its limits inspires more trust and keeps the technician vigilant.

What's next for MalariaScope

Next, I want to add live camera capture so technicians can work directly from the microscope, and offline support for labs with unstable internet. I would also like to add a Fon language interface and train a dedicated model on more slides to improve accuracy on low-parasite samples.

Built With

Share this project:

Updates

Submission history