Inspiration

While volunteering at an ashram in my hometown of Suryabinayak, Nepal, I saw how hard it is to know where help is needed most. Where people gathered kept changing. We regularly went out by bus to temples, then to bridges, then to the routes between villages, but we never really knew which stop would make the most difference. Most of our choices came down to intuition and whatever we had heard last.

The same question comes up in Singapore, however, the difference is that Singapore has rich open data, which makes it a good place to build a self-learning system first and then take it to places with less. Need moves here too, as some estates age faster than others. The number of seniors living alone more than doubled in ten years, from 41,200 in 2015 to 88,400 in 2025, while working-age residents per senior fell from 7.4 to 3.3, so there are fewer people to go knocking. A list drawn up once a year can't keep up with that. I wanted to build something that learns from every visit, so outreach teams can follow need as it shifts instead of guessing. Hence, KampungLoop.

What it does

KampungLoop shows outreach coordinators which neighborhoods to visit this week and why. Each area on the list comes with plain reasons, such as a high share of seniors living alone and no Active Ageing Centre nearby. After a visit, the coordinator logs what they found in about ten seconds. Those results retrain the weights behind the score, so the list gets better every week. About one visit in five goes to an area the model is unsure about, so it keeps learning about places it would otherwise overlook.

How we built it

The plan runs on Databricks Free Edition. Eight data.gov.sg datasets (the five A1 datasets plus URA subzone boundaries, SingStat residents by subzone and age, and HDB block data) load through Lakeflow into Delta tables. They are cleaned with quality checks and governed in Unity Catalog. A risk score per subzone is tracked in MLflow, and a Databricks App with Genie shows the map, the weekly list and the reasons. Visit logs are stored in Lakebase and feed back into the weights.

Challenges we ran into

There is no real visit data yet, and two weeks is too short to collect any, so the learning loop will be shown on simulated visits that are clearly labeled. The national living-alone figures don't break down by area, so I added subzone-level datasets to get a finer picture. I also had to keep everything at area level, with no personal data, so the tool points to places, never to individuals.

Accomplishments that we're proud of

Turning a static risk map into a loop that learns from what volunteers actually find. I'm also proud of the exploration step, which stops the model from only confirming its own guesses.

What we learned

How fast Singapore is ageing alone, and how little of that open data shows below the national level. I also learned that the tool only works if logging a visit feels effortless. The people doing outreach are already stretched, so a lot of the work is groundwork: designing around their day and supporting the people putting in the work as much as possible.

What's next for KampungLoop

Build the pipeline, score and app in the first week, then the visit log and learning loop in the second. Next, add service-gap data such as eldercare services, clinics, community clubs and hawker centres. Longer term, I'd like to test it with a real outreach team and replace the simulated visits with real ones.

Built With

Share this project:

Updates

Submission history