Inspiration
I have cared for my own elderly grandmother, so I know a quiet truth: seniors can seem fine and still need support. Noticing that takes someone paying attention. Singapore becomes officially "super-aged" in 2026, with over a million residents aged 65+. Yet outreach is still largely manual, planned at town level, and uneven. If a town looks "safe" on average, the neighbour who needs help can be invisible. Reach is built to notice them.
What it does
Reach is a decision-support platform for social workers and volunteer coordinators. It joins five open datasets onto one block, town and planning-area grid, then works in three steps:
- Hidden Pockets (Find): flags high-risk HDB blocks inside "safe" towns, with a map toggle between Town view and Block view. Every town stays monitored, so no block is missed just because its town looks fine.
- Buddy Towns (Fix): pairs stretched areas with nearby areas that have capacity headroom, and recommends the top 5 sites for the next Active Ageing Centre (AAC).
- Twin Blocks (Prove): shows each flagged block beside a statistical twin with a near-identical elderly profile but much better access: same seniors, different support.
Plan
- Ingest: HDB, MSF and SingStat open datasets from data.gov.sg land in Delta bronze tables via Auto Loader.
- Transform: Lakeflow cleans, geocodes and joins blocks to towns and planning areas, producing silver and gold tables with quality checks.
- Model: block risk scoring, stretched-vs-slack matching, greedy AAC siting, and Twin Blocks nearest-neighbour matching, tracked in MLflow.
- Output: an AI/BI dashboard and a Genie space so non-technical staff can ask questions in plain English.
- Governance: Unity Catalog for lineage and access control (stretch goal).
Potential challenges
- Mixed granularity: ComCare and living arrangements are area-level, while HDB data is block-level. We state this openly and apply them only as area-level adjustments.
- Geocoding and boundaries: block coordinates may need geocoding, and HDB towns differ from URA planning areas, so we need a crosswalk.
- No isolation labels: Reach prioritises outreach and does not predict who is isolated. We test weight sensitivity to show the ranking is stable.
- No volunteer data: we pitch "capacity headroom", and volunteer rosters would plug in later.
- Free Edition quotas: we precompute heavy steps and keep dashboards reading small gold tables.
- Privacy: we use public aggregate data only and never label individuals.
What's next for Reach
- Unity Catalog access policies, a 2030 projection of risk as the elderly population grows, and live volunteer data from SGO and AAC partners.
Built With
- ai/bi-dashboards
- auto-loader
- catalogpython
- databricks
- databricks-free-edition
- databricks-sql
- delta-lake
- genie
- geopandasdata.gov.sg
- hdb
- lakeflow
- mlflow
- msf
- onemap-api
- pandas
- pyspark
- scikit-learn
- singstat
- sql
- unity
Log in or sign up for Devpost to join the conversation.