Why we picked this
We named our project STILLWATER because dengue mosquitoes breed in still water.
We see many dengue cases around us, and people really get sick. A small pool of still water can mean more mosquitoes, more people sick, and sometimes serious illness. That is why we wanted to help catch it early.
Dengue cases in Singapore change a lot from year to year. There were 2,776 cases in 2017 but 35,121 in 2020. Outbreaks start as small clusters around a few blocks. If people clear still water early, a cluster can stop before it spreads.
The brief suggests predicting dengue from rain and temperature. Before building that, we wanted to check if it actually works.
Why this matters for an ageing Singapore
Older people are more likely to become seriously ill from dengue, and Singapore is becoming super-aged in 2026. On 3 Oct 2026, the 10 active dengue clusters were in 8 planning areas that are home to about 186,000 residents aged 65 and above (Census 2020), around 30% of all seniors in the Census table. The biggest cluster, at Ho Ching Road (84 cases), is in Jurong West, home to about 34,000 seniors. Many older residents also read Chinese, Malay or Tamil better than English, so our messages come in all four languages.
What we found
We used MOH's weekly dengue cases (2012-2022) and SingStat's monthly weather data. We trained simple models on 2012-2019 and tested them on 2020-2022, which the models had never seen.
| How we predicted | Average error (cases per month) |
|---|---|
| Weather only | 1,543 |
| "Same as last month" | 703 |
| Last month's cases | 650 |
| Last month's cases + weather | 599 |
Rain and dengue cases did not move together (correlation about 0). Last month's cases and this month's cases moved together strongly (0.92). Weather still helped a little when we added it to past cases, so we use past cases first and weather second.
The problem is that on data.gov.sg, NEA's dengue cluster list only shows today's clusters. Outside NEA, nobody can easily see whether a cluster is growing or slowing down.
What our project does
STILLWATER has four parts:
- Save daily: every day, a scheduled job saves a copy of NEA's dengue cluster file and its high-Aedes areas file. Over time this builds a history.
- Find growing clusters: we compare each cluster with a week ago and check whether it is in a high-Aedes area. Fast-growing clusters go to the top, even if they are still small.
- Short messages: an AI model writes a short message for residents in English, Chinese, Malay and Tamil, based on where NEA found mosquitoes breeding. For example, at the Ho Ching Road cluster (84 cases on 3 Oct 2026), NEA found breeding in dish trays and flower pot plates.
- Ask questions: town council or NEA staff can type questions like "Which clusters grew the most this week?" using Genie.
How we will build it
We will use one Databricks Free Edition workspace:
- Collect: a daily Lakeflow Job runs a notebook that downloads the NEA and MOH files from data.gov.sg.
- Clean: raw, cleaned and final Delta tables in Unity Catalog, with data-quality checks, so we can trace every number back to its source.
- Analyse: SQL for the growth score; our prediction compared with "same as last month", tracked in MLflow.
- Show: an AI/BI dashboard with a map and ranking, plus a Genie space.
- Message: ai_query with a Foundation Model API writes the messages in four languages.
Limits we found
- The case history on data.gov.sg is for the whole of Singapore and stops in 2022. History for each cluster only starts from the day we begin saving.
- Our weather test used national, monthly data. More detailed local weather, which is not public, might help more. NEA and researchers already forecast dengue with their own data. Our project is about what open data can do for communities and town councils.
- Right now only 1 of 10 clusters lists breeding spots, so other clusters will get NEA's general advice.
- AI-written messages will be checked by people who speak each language, and marked as AI-written.
What we learned
Check the obvious idea before building on it. Predicting from the weather sounded right, but in the public data it was the weakest method.
Next steps
Keep saving the data for a whole dengue season, add local weekly weather from NEA's live data, and try the messages with one town council.
Team STILLWATER
Republic Polytechnic, Diploma in Applied AI and Analytics, Year 2 Jayden Goh: [email protected], Lee Shaine: [email protected], Balu Vijayalakshmi: [email protected]
Built With
- ai-bi-dashboards
- data.gov.sg
- databrick
- delta-lake
- foundation-model-api
- genie
- lakeflow
- mlflow
- pyspark
- python
- sql
- unity-catalog
Log in or sign up for Devpost to join the conversation.