Drupal in a COVID crisis response project

Events happening in the community are now at Drupal community events on www.drupal.org.
david jeyachandran's picture

I posted a request here in this Drupal group, asking for help building a Drupal app to help get food to the most vulnerable people in Peru during the COVID crisis. Here’s what happened.

First some context... Peru is currently number 6 in the world with more than 800,000 COVID cases. Tragically Peru is also the world's deadliest COVID hotspot - deaths per capita all this despite a severe lockdown. Thousands of Venezuelan refugees in Peru who normally made a living selling things on the street were left without any source of income and our aim was to help them through this crisis.

Before we had Drupal

Before Drupal came into the picture we were getting food to about 300 refugees and managing the process using a bunch of Excel spreadsheets. Our team was manually sending 300 individual WhatsApp messages, inviting people to receive food in several distribution points in the city. The system was completely unscalable.

Quick Drupal site

In about three hours I built a simple Drupal application that let people register and place themselves on a Google Map. Within a couple of days we had more than 3000 families/individuals registered. Eduardo, a Drupal developer with Lullabot, worked with me late at night and on his days off to build a simple system where we could send out invitations using WhatsApp and we could flag when people received a food package.
Map showing people in need

Drupal Solution

The Drupal App was already saving us a lot of time but just couldn’t work fast enough to build the functionality we needed. This is where Vladimir and Janna from Tomato Elephant Studios, Brisbane joined the team, helping us at a time where we were desperate. They started by doing a data cleanup - sql queries to identify and fix anomalies and they created Drupal views to let our volunteers correct data errors that needed human intervention eg. people who had fraudulently created multiple accounts. We also needed to rebuild the screen where our volunteers flagged people as having received food. Performance was critical in this part of the application and Vladimir rebuilt this using D8 AJAX functionality - identifying and patching core bugs. Each week we identified the minimum features we needed to survive the coming week. We wanted a solid, minimalist system that would work well on low bandwidth and old phone hardware.

Drupal application's main functionality:

  • Identify who are the next people in line to receive food
  • Send an invite via the WhatsApp API providing people with a time and map
    of their delivery food point
  • Invitees can login to the site and confirm/deny that they can attend.
    They can see their delivery history
  • The volunteers at the delivery have a list of people invited/ confirmed.
    As people arrive they search and flag people who have received their
    food package.

Most important

This project hasn’t come without a high human cost. One of our volunteers sadly contracted COVID died suddenly because of a heart complication. It has been helpful for us to keep in mind the bigger picture. We’ve heard so many stories of how we’ve helped people through a critical time. Eloisa is a single mum with three kids who hasn’t been able to pay her rent for three months and doesn’t know how she would have got through without the food we provided. Leonela lost her job at the start of our extended quarantine and the food packages were a lifeline to help her family through.

Thank you

Huge thank you to Vladimir, Janna, Eduardo for your hard work and working faster than I thought was possible. I often saw code commits coming in after 2am. Thanks also for fixing problems that I created - messing up the config management or cleaning data that I should have better validated. Also for doing what I never thought was possible with Drupal Views. Thanks to developers like Heissen that helped at short notice to solve urgent issues. Sorry to others developers who offered to help - it was helpful to keep the team small and project simpler. Thanks also to thousands of people who donated financially to the project. We’ve provided more than 137 tonnes of food to about 3000 families/individuals. Thank you to our volunteers who put their own lives at risk as they helped to buy, pack and deliver the food packages. Thanks to Pantheon who gave us free hosting. We never had to worry when 200+ people decided to login at the same time.
Lots of mobile users

Packing 3 tonnes of potatoes per week
Packing Potatoes

Food delivery
Food delivery

AttachmentSize
map-venezuelan-families.png413.14 KB
IMG_20200414_091446339.jpg547.63 KB
delivery-min2.jpg387.14 KB
alianzadeamoraqp-analytics-mobile2.png28.32 KB

Comments

Great work.

fotuzlab's picture

This is the best Drupal case study I've ever read. Great work on the ground David, KIU and all the best!!!
Drop me a message if there is anything I can assist with.

Thank you!

david jeyachandran's picture

Thank you Arijit, for you comment and thanks for your offer to help. Our food distribution project is coming to a close. Our next challenge is helping people find jobs. Most of the community we work with haven't been able to pay their rent for months and are in risk of becoming homeless. I'd love to get a group of people together and brainstorm some ideas of how we can get them generating an income. I'll send you a direct message.

Agree this is an amazing case

larowlan's picture

Agree this is an amazing case study. Feel free to ping me here or on slack if there's anything I can assist with.

Thank you

david jeyachandran's picture

Thanks Lee. Hope we can connect soon. I might request to represent this case study at an upcoming Drupal meeting and think through our next phase as we move from getting food to people to helping them find work.

Wow. This is an absolutely

webchick's picture

Wow. This is an absolutely amazing case study. Please consider submitting here https://www.drupal.org/drupalorg/docs/content/case-studies so that it can be featured on the main website https://www.drupal.org/case-studies.

I am so incredibly grateful to you and your team for doing this important work, and also so terribly sorry to hear of your fallen volunteer. :( This is work that makes an incredible, tangible impact on peoples' lives, and we are grateful to you for sharing. <3

Thank you for your kind response

david jeyachandran's picture

Thank you Angie!

I'd be happy to post this as a Drupal case study. Thank you for your years of service in the Drupal community, helping to build a tool and a community that can impact people's lives. Out of curiosity, how did you find this post out of the hundreds of Drupal groups?

Aw, thank you so much! It is

webchick's picture

Aw, thank you so much! It is for projects just like yours that make a real difference in the world that keep my passion going building Drupal over the years. :)

@larowlan pinged me about it, otherwise I fear I would not have found it. :'( I am not sure how he managed to find it!

Warms the cockles of my heart!

rdeboer's picture

What a beautiful write-up about a wonderful initiative with wonderful results: saving lives.
And... it features maps to boot. Awesome.

Inspirational

murrayw's picture

Hi David - incredibly inspirational. The Drupal side of things is impressive but so are the logistics of you and your team of volunteers who managed to bring it all together. I tip my hat to Eduardo, Janna and Vladimir as well - some true community spirit there.

If you would like to present at the November Sydney Meetup, please let me know. It would be great to hear more about this amazing project. The Brisbane meetup may be more appropriate though given TES's involvement.

Managing Director
Morpht

Thank you

david jeyachandran's picture

Thanks Murray, We'll be speaking at the Brisbane meetup and you're right that it makes perfect sense to present there. If you'd like we can speak at the Sydney one too.

Australia

Group categories

Location

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: