Inspiration
Mosquitoes are the deadliest animal in the world. Malaria, dengue and the other diseases they spread infect hundreds of millions of people a year and kill hundreds of thousands. It's personal for us too: one of our dads had dengue, and it made a statistic we'd only read about feel real. Several of us have also worked with nonprofits that fundraise for diseases like these, and we saw how little tracking the people on the ground have. The places hit hardest have the fewest traps, entomologists and labs, but almost everyone has a phone. We wanted to turn that phone into a mosquito detector.
What it does
Culicid is sound-surveillance infrastructure for disease-carrying mosquitoes, guiding household protection and agency-level control. Health teams usually learn about an outbreak only after cases are reported, which is too late to prevent it. We built two components that catch it earlier: a data collection layer that detects mosquito density, and a live risk dashboard that shows health teams where to act and what to do, weeks ahead.
Our phone app listens for mosquito wingbeats. From a 10-second recording, it identifies the mosquito's genus by the sound of its wingbeat and flags the diseases that genus can carry: Anopheles, which can carry malaria; Aedes, which can carry dengue, Zika and chikungunya; and Culex, which can carry West Nile and filariasis. All other sounds are filtered out. Our risk dashboard utilizes these individual detections into a regional picture. Every identified buzz appears on a live map across Nigeria, Brazil and the US, next to case history for dengue, malaria and West Nile. Each district gets a ranked risk score built from recent detections, cases, and weather. Culicid also forecasts spread, intensity, and speed 1 to 4 weeks ahead for each district, allowing health institutions and governmental agencies to take specific preventative measures (stage nets, larvicide and clinic supplies, repellent distribution, community messaging). Our integrated LLM then provides region and timing-specific actions for each district, chosen from a library of measures sourced from the WHO and CDC.
Mosquito-borne diseases hit low-resource regions the hardest, so accessibility was a big part of what we built. Every user chooses their preferred language to see mosquito results and get personalized prevention steps written for them and read aloud. We support 8 languages from Mandarin to Hausa, with 6 being spoken aloud.
Together, these layers form a surveillance network that advises both agencies and households. Ministries, NGOs and researchers can access our model through our API.
How we built it
We trained our audio model on 274 phone recordings of six malaria and dengue vector species from Stanford's Abuzz study, tested against Oxford's HumBugDB background audio. Each two-second window becomes 52 numbers describing its spectral shape, wingbeat pitch and tonality. A gradient-boosted classifier votes across the six strongest windows to pick the genus, and the diseases follow from it. A gate checks for a wingbeat's pitch and overtones first, which filters out voices and background noise. On recordings it had never heard, it scores 0.73 balanced accuracy for Anopheles versus Aedes.
A phone sends its clip through Next.js to our FastAPI service, which classifies it and stores the result in Tiger Data, a time-series Postgres database. A trigger on each new row streams it to the live map in about two seconds, and the database counts detections per district and ranks risk from detections, cases and weather. Snowflake handles the history. We load weekly case data into it, and its ML.FORECAST trains one model per district to produce one-to-four-week forecasts as 80% ranges, which it writes back into Tiger so the dashboard reads from one place. Gemini turns each district's numbers into region and timing-specific actions, and ElevenLabs speaks them aloud by language.
Challenges we ran into
Two of our first approaches failed. A simple pitch rule couldn't tell genera apart, because their wingbeats overlap too much. A trained mosquito detector turned out to be learning which phone made the recording, not whether a mosquito was there, so we replaced it with the wingbeat filter. We also had to split our test data by recording session instead of by clip, because near-duplicate clips on both sides made our accuracy look better than it was.
Accomplishments that we're proud of
We’re proud of designing a model that separates between mosquito genera such as Anopheles (malaria) and Aedes (Dengue) with 0.73 balanced accuracy, while tuning out human voices and background noise. The dot-heatmap design is visualized with individual dots that form a gradient. Our map renders risk as individual dots that blend into a smooth gradient. It stays fast with large datasets and avoids merging points into coarse blobs that hide how risk spreads. Lastly, we are proud of solving a global-wide issue with the simple use of personal phones, benefiting both the individuals and health agencies.
What we learned
This project taught us to build a machine learning model from scratch, handle messy audio recorded on different phones, and design features that hold up in real-world conditions. By designing for both individuals and agencies, we learned to build an interface that works for professionals in environmental health. We made it accessible to users of any digital literacy, anywhere in the world. And because field work and office work look different, we made the app fully usable with one hand, so people can scroll through recommendations without interrupting their day.
What's next for Culicid
We want to build an informative phone line (built upon current voice and advice layers), so anyone can call at any time and hear the current mosquito situation in their area, with advice tailored to them. Additionally, by increasing the user base, and getting nonprofits and health departments using it, we can gather updated case data from each region, beyond the current datasets we pulled from. Lastly, we want to move from to a full-production grade product for individuals and government agencies, including a native Android app that can listen in the background.
Built With
- elevenlabs
- fastapi
- gemini
- leaflet.js
- next.js
- postgresql
- python
- react
- scikitlearn
- snowflake
- tailwind
- tiger-data
- typescript
Log in or sign up for Devpost to join the conversation.