COVID19, beyond a medical crisis, is a social one, especially for the elderly. Social isolation. Loneliness. Lonely Deaths. The Singapore Department of Statistics estimates that 83,000 elderly persons will be living alone by 2030 as compared to the 47,000 seniors aged 65 and above in 2016. Befriender Programs, which aim to connect seniors to our community via face-to-face interactions and house visits, could not operate during COVID19.

How might we meaningfully connect seniors during a time of pronounced social isolation by empowering volunteers and reducing friction for Befriender programs?

What it does

  1. Easy and Safe Sign Up for New Volunteers: Signing up is easy, paperless and safe with verification using SingPass (an official Singapore digital government ID), so that we know that our volunteers are real individuals and we can keep them accountable.
  2. Matches Volunteers with Elderly: Volunteers set when they are free and will see a list of elderly ready for a chat based on their availability and language
  3. In-app Calls: Calls are made in-app via Twillo so calls can be logged and phone numbers are kept private. Databases are managed by Befriender program owners due to low tech adoption in seniors over the age of 65.

How we built it

We created two outputs: a hi-fi UX prototype and a functioning engineering demo.

Hi-fi UX prototype

The hi-fi prototype can be found here on YouTube. The prototype was built and animated in Figma.

Engineering demo

The engineering demo can be found here on YouTube, and the source code can be found in this GitHub repo. The engineering demo comprises the following components:


  • Vanilla javascript + HTML


  • API server: Express/NodeJS
  • Database service: AWS DynamoDB (NoSQL)
  • VoIP service: Twilio Programmable Voice

Challenges we ran into

Balancing the safety of our seniors with reducing the friction to signing up by volunteers

Whilst it is important to make it easier for volunteers to sign up to and use the Ring-a-senior service, we found that it was just as crucial to protect the safety and privacy of our seniors by verifying the identity of these volunteers. This is especially so given that there has been an increase in phone scams in recent years, including those targeted at the elderly community.

Our initial thought was that grassroots/community care organizations should screen for the volunteers; however, we realized that this might not scale well if many people want to volunteer. Instead, we decided that the best approach to take is to identify our volunteers with the Singapore national digital identity service (SingPass) the first time when they sign up. And once we know that they are legitimate individuals, we would have reduced the safety/privacy risk significantly, since the volunteers know that we can identify them if they did something malicious to our seniors.

Accomplishments that we're proud of

Building the backend functionality for the core user flow

We were able to build a functional service that allowed a user to perform the core features: 1) select their language options, 2) view the seniors who were available to join the call, and 3) chat with a senior by VoIP call between the volunteer's web browser to the senior's phone. We are proud of this because it is almost a production-ready system in terms of the backend; we just need to finish up the authentication/authorization piece in the backend before we can test a rough version of Ring-a-senior with users.

What we learned

Learning to use the Twilio programmable voice service

It was a really cool process playing with TwiML Apps and learning how VoIP worked. Working with Twilio's service also gave us a lot of inspiration for future work - for example, Twilio's voice APIs allowed us to record conversations, and we could use this to detect the mental health status of the seniors, or we could also apply machine learning to the conversation to detect if volunteers are attempting to do malicious things to the seniors.

Pivot to Help HubAfter preliminary user research, we learned that we may need to pivot from a single-flow help app to building a Help Hub or Platform of sorts, to address two key use cases:

  1. Request Help: As an elderly, family member of elderly, or befriender, I want to request immediate or non-immediate help for myself, or on behalf of an elderly.
  2. Offer Help: As a volunteer, program owner, or befriender, I want to send immediate or non-immediate help for an elderly.

Note: Elderly is our main target help group, but the product can be scaled to other groups as well such as frontline workers, people with pets/plants

What's next for Ring-a-senior

  1. Research with Befriender Programs: Validating prototype and concept with Befriender Programs. Would they use it?
  2. Implement MVP UI: Prototype remains to be implemented
  3. Fake Door Test: Test using landing page and track number of interested volunteers
  4. Get Funding: Find ways to fund and sustain the app/leverage existing initiatives; we are currently speaking with the Singapore Ministry of Culture, Community, and Youth to explore funding and collaboration options.
  5. Pilot Launch with a Befriender Program: GTM with support from a Befriender Program
  6. Measure impact: Track impact using goals/success criteria and identify additional features to ship to grow

Try It out



express.js, figma, node.js

Devpost Software Identifier