Our Team
- Lincoln You Liheng - NUS, Finance & Quantitative Finance, Year 1
- Park Jungwoo - NUS, Chemical Engineering & Quantitative Finance, Year 1
- Noriko Khang - NUS, Mathematics & Computer Science, Year 1
Inspiration
Singapore's worst dengue year was 2020: 35,315 cases, after the virus switched to the DENV-3 serotype, which few residents were immune to. In 2026 the same signal is back. DENV-3 rose from 19.1% of cases in January to 59.9% in June.
Meanwhile Project Wolbachia, which cuts dengue risk at release sites by over 70%, reaches half of all households this year. That leaves about 800,000 households unprotected, with no sites announced beyond 2026. Public dengue data shows clusters only after cases appear. We wanted a tool that looks ahead, and that points Singapore's best weapon where it will prevent the most cases.
What it does
DengueRadar forecasts dengue-cluster risk for each of Singapore's 55 planning areas, 2 and 8 weeks ahead. It adjusts for where Wolbachia already protects, and ranks unprotected estates by the cases a release would avert. Six tools sit in one dashboard:
- Live cluster map: today's NEA clusters by planning area, with alert level and Wolbachia coverage.
- Fortnight risk forecast: Low / Medium / High per area for the next 2 weeks, plus an 8-week outlook.
- "Why here?" area brief: the top three drivers behind each score, in plain English.
- Wolbachia expansion planner: ranks unprotected areas by expected cases averted per 1,000 households, with a what-if toggle.
- Hit list and alerts: a weekly top-10 for source reduction, and an alert when an area turns High.
- Trust panel and 2020 replay: forecast vs actual, skill against a naive baseline, and a replay of the record outbreak.
Expected cases averted in area a, where ŷₐ is the forecast cases, E ≈ 0.7 is NEA's reported risk reduction at release sites, and Hₐ is the number of households in the area:
$$\text{averted}_a = E \cdot \hat{y}_a, \qquad \text{per 1,000 households} = \frac{1000 \cdot \text{averted}_a}{H_a}$$
How we're building it
- Ingest: Lakeflow Jobs pull data.gov.sg dengue clusters daily and rainfall, temperature and humidity hourly. Auto Loader lands them in bronze Delta tables. History is a one-off bulk load: NEA's yearly weather files (about 1.1 GB each) are aggregated to daily station totals on arrival.
- Transform: Lakeflow Declarative Pipelines take the data from bronze to silver to gold with data-quality expectations. They keep every daily cluster snapshot as history and join stations and clusters to the 55 URA planning areas.
- Model: gradient-boosted trees on rainfall, temperature and humidity lagged 1–16 weeks, past cluster activity, a DENV-3 flag and Wolbachia status. MLflow tracks every run against recent-history and seasonal baselines in walk-forward backtests. The best model is registered in Unity Catalog and scored weekly.
- Serve: an AI/BI dashboard, a Genie space for plain-English questions, SQL alerts, and area briefs from a Foundation Model API endpoint.
- Govern: Unity Catalog for every table and model, with lineage from API to forecast.
Challenges we expect
- No history in the live feed. The cluster dataset shows only active clusters. We use SGCharts' archive of NEA cluster snapshots (twice weekly, May 2013 to November 2020) for area-level labels, and archive the live feed daily from now on.
- Network limits on Free Edition. Outbound internet is restricted to trusted domains. If data.gov.sg is blocked, a scheduled external poller drops files into a Unity Catalog Volume for Auto Loader.
- A quiet year. 2026 had 2,424 cases to 22 September, so our demo replays 2020 to show lead time on real data.
- Wolbachia isn't an open dataset. We enter release areas by hand from NEA's website and flag them as manual input.
What we've learned so far
- Serotype switches, not just weather, set up Singapore's biggest outbreaks.
- Containing an outbreak takes about two months, so a useful warning has to come weeks before cases appear.
- NEA already forecasts dengue nationally. What's missing in the open is risk by planning area that accounts for Wolbachia and explains itself.
What's next
In the two-week sprint, week 1 covers ingestion, the cluster archive, bronze-to-gold tables, a baseline and model v1. Week 2 adds the Wolbachia layer, the expansion planner, the dashboard, Genie, alerts and the 2020 replay. Our team of three splits into data engineering, modelling, and dashboard and story.
Built With
- ai-bi-dashboards
- auto-loader
- data.gov.sg
- databricks
- databricks-sql
- delta-lake
- foundation-model-api
- genie
- geojson
- geopandas
- lakeflow
- lightgbm
- mlflow
- pyspark
- python
- shap
- sql
- unity-catalog
Log in or sign up for Devpost to join the conversation.