Inspiration

Singapore officially becomes "super-aged" in 2026: 1 in 5 residents is 65 or older. For many of them, the hawker centre is the cheapest hot meal and the main place to see people every day. Hawker centres also close regularly for renovation, and permanently. Planners can see a closure coming. What they can't easily see is which seniors lose their nearest affordable meal, and which neighbouring centres get swamped by the extra diners. We wanted to make that visible before it happens.

What it does

HawkerReach is a closure stress test for Singapore's hawker network, built on Databricks. It works in five steps: Baseline: maps hawker centres per 10,000 residents by planning area and charts closures over time, permanent vs temporary. Access cliff: calculates walking time from every HDB block to every hawker centre at three paces (brisk, typical and senior), and tiers each centre from T1 (safe) to T4 (steep cliff). Overload cascade: simulates closing any centre, shifts its diners to nearby centres (closer ones take more), and ranks which centres are most likely to be overloaded. Waste estimate: turns the extra diners at overloaded centres into a rough estimate of extra food waste. Fix-it test: ranks candidate sites for a temporary market by how many seniors each would reconnect.

How we built it

We designed the solution on Databricks using a medallion architecture: Bronze: raw data ingested from data.gov.sg (NEA hawker centres and closure dates, HDB block data, SingStat population and waste) and the OpenStreetMap walking network. Silver: Hawker centres and HDB blocks are linked to planning areas with H3 spatial joins, and closure records are matched to centre IDs. We compute a walking-distance matrix by running one shortest-path search outward from each centre across the street network, rather than routing every block–centre pair separately. Gold: decision-ready tables for density per 10,000 residents, closure trends, access tiers, every single-centre closure simulated in advance, waste estimates and site rankings.

Challenges we ran into

Measuring access for seniors, not averages: we had to work at HDB block level rather than planning-area level. That meant adding datasets beyond the ones provided, and confirming what level of detail the elderly population data actually has. No footfall data exists: we can't measure how many people eat at each centre, so we model demand. Results depend on assumptions: walking speed and the time threshold strongly affect the results, so we built in sensitivity testing instead of relying on one setting. Free Edition limits: routing every block to every centre is expensive. Computing distances once from each centre and precomputing every closure scenario keeps it feasible.

Accomplishments that we're proud of

Reframing hawker access around who can actually walk there rather than the average resident. Designing a stress test that simulates what happens after a closure, instead of another map of what already exists. Covering all four demo items in the brief plus two stretch goals (social vulnerability multiplier and site suitability) within one coherent story.

What we learned

The standard "centres per 10,000 residents" metric can make an area look well served even when many of its seniors can't walk to a centre. A good data product answers a decision, such as "what happens if this centre closes?", not just a description of what exists. Designing for platform limits early (precompute once, query instantly) shapes the whole architecture. Honesty about assumptions makes a model more credible, not less.

What's next for HAWKER REACH

Build and validate the pipeline on real data, starting with the access cliff and overload cascade. Replay real past NEA renovation closures through the model as a plausibility check. Add coffee shops and food courts as a secondary layer, since they also serve seniors. Include bus access, since many seniors don't only walk. Bring in social vulnerability signals, such as rental flat concentration, to flag centres that seniors on lower incomes depend on. Share findings with town councils and community care groups to test whether the outputs match what they see on the ground.

Built With

Share this project:

Updates

Submission history