For the willing volunteer: why download so many apps to search for volunteering opportunities when you can have opportunities sent to you through a service you already have?

Try it now! https://t.me/LifeHackGooseBot

Theme

For this project, we chose the theme of 'Giving Back', with specific focus on Question 1 that asks how we can make volunteering "easier, widespread, and more beneficial to those in need". There is no shortage of digital solutions in this regard, with a plethora of apps and websites to encourage greater volunteerism - and yet, this confusing 'variety' may be what ultimately segments the volunteer base and ironically reduces the visibility of worthy causes instead.

The Hack

In seeking to answer the problem statement, we thought of going the other way; instead of building yet another app that tries to cover too much ground, we went for a simpler aggregator that takes whatever is already there and puts it on a commonly-used and highly-visible platform.

The result is Care-ggregate, a Telegram bot that serves to provide users the utility to see and access opportunities from different sites in one place. It looks deceptively simple, but that is ultimately the idea - it is so simple to access that it reduces the barriers to volunteerism.

Familiar: An existing Telegram user may simply subscribe to a channel where volunteering opportunities are sampled from a dataset and broadcast occasionally. The in-built notification system and inline button function are intuitive to use.

Straightforward: The data presented for each opportunity is pared down and succinct, meant to grab the eyes of users quickly. Should they wish to find out more, they can click the 'Sign Up Now' button to be brought immediately to the relevant detailed webpage - no intermediate steps needed.

Adaptable: Currently, Care-ggregate takes data scraped from Giving SG and volunteer.gov.sg, both of which have ample opportunities for people to sign up. In theory though, Care-ggregate can take data from any source beforehand, so long as the data is formatted according to the required fields in the SQLite database within. Our scraping framework is also fairly robust - it will be easy to integrate a new platform should the need arise. We'll have the scraper update from the platforms every 24 hours.

Care-ggregate was built mainly using Python and JSON, with a SQLite database used as a form of cache; the idea is that the database would be updated at regular intervals as the websites get new entries. Some elements of geolocation (geopy/Nominatim) were also used to derive location data from the datasets.

Difficulties and Learning Points

The biggest difficulty is getting the data we need. While it may have been easier to create dummy datasets for the purposes of the hackathon, we knew that using real data would be more helpful and robust for the hack. That, though, is challenging and we spent much time trying to retrieve (and then clean) the data from the websites, but we did it in the end.

Another difficulty is that ironically, it is much harder to keep an app simple to use than it looks. We knew that if our solution was too complicated, it may as well be the same as the apps we were trying to summarize; yet keeping it rich with quality-of-life features would naturally be wanted. I think we are pleased with how Care-ggregate turned out.

The biggest learning point from LifeHack, we think, is that sometimes the best way to solve a lack or to encourage more of something (in this case volunteerism), is not to make more platforms, but simplifying what processes already exist. Certainly, it is not as world-breaking to use what is already there, but as far as outcomes go, they are at times more effective.

Share this project:

Updates