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

  1. Ingest: HDB, MSF and SingStat open datasets from data.gov.sg land in Delta bronze tables via Auto Loader.
  2. Transform: Lakeflow cleans, geocodes and joins blocks to towns and planning areas, producing silver and gold tables with quality checks.
  3. Model: block risk scoring, stretched-vs-slack matching, greedy AAC siting, and Twin Blocks nearest-neighbour matching, tracked in MLflow.
  4. Output: an AI/BI dashboard and a Genie space so non-technical staff can ask questions in plain English.
  5. 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
Share this project:

Updates

Submission history