Joon-Ho Son


Mobilise

https://github.com/mobilise-xyz

Mobilise was initially developed over 4 weeks for the 2nd Year WebApps group project at Imperial College London. For this project, we were awarded the 1st place WebApps project prize.

The Problem

Every month, in London, 13 million meals are wasted, and yet 9 million meals are needed to feed the hungry. Now, if weā€™re being honest, we donā€™t have the answer to this problem - but we do care about it. We initially thought about developing an app connecting the hungry to organisations with excess food, but we found that there were already charities out there doing just that. We reached out to them, asking them about the problems they faced.

City Harvest responded. City Harvest is a small but impressive operation, focused on rescuing meals for the hungry. Through the work of passionate and dedicated individuals they have rescued over 5 million meals to date.

But it isnā€™t easy - two-thirds of people that signed up in May never even arranged their first shift. Furthermore, 40% of active volunteers decide not to go through this process and decide instead to just turn up. This leads to situations where City Harvest has to turn away volunteers one day since they have too many, yet they are short of volunteers on the next! It shouldnā€™t be this way.

Mobilise

This is the question that has driven our project, Mobilise. Mobilise is a smart volunteer coordination application, designed and developed in cooperation with staff and volunteers from City Harvest. Week after week we visited City Harvest to learn the fine details of the problems that both volunteers and coordinators face on a day to day basis. We believe that Mobilise will both simplify and improve the complicated aspects of volunteering and volunteer coordination.

Mobilise makes it easy to create, book, and edit shifts.

The Ping functionality allows volunteer coordinators to contact volunteers in the event that more volunteers are needed on short notice.

Shifts that are predicted to be understaffed by our system are recommended to volunteers.

Stack

Frontend:

Backend:

Architecture

Future

Many WebApps projects come to an end with the end of the WebApps project. However, Mobilise has a bright future. We are the first group of students to have the backing of Imperial Charity Insights, who have sponsored us to develop this project further over the summer.

Our primary focus will be on improving the functionality of current features, and creating a more stable, robust platform.

We also plan on moving the recommender system out into its own service, to facilitate things like A/B testing.

More at https://www.mobilise.xyz

Update 2019-10-01:

Final Reflective Report

Insight Into the Charity Sector

As we were working closely with City Harvest London, we paid regular visits to gather feedback on the application from volunteers and staff. During these visits, we were able to gain insight into how charities such as City Harvest operate - and how they are able to touch as many lives as they do.

This project involved many hours of coding and other technical work, so being there in person provided an important reminder of the human aspect of this project, and also gave me perspective into the enormity of their mission. It certainly gave me a renewed respect for what they do and how hard it is.

Something that has stuck with me throughout the project was the realisation that, in spite of the generosity of donors and the unwavering dedication of volunteers, many charities still operate with limited resources. The work of volunteer coordinators is incredibly valuable, however they often face unnecessary difficulty because they are not equipped with the right tools to effectively communicate with regular and prospective volunteers. This is especially true for smaller charities.

I believe that by treating volunteer operations as an engineering problem, many hours of toil could be automated by collaborating with charities on projects such as those facilitated by social coder and similar programmes. This provides an avenue for people to help charities further their impact that is not necessarily monetary, and wholly I encourage anybody with the technical ability to reach out to charities to see how their skills can be applied.

Our Impact

Previously the volunteer sign-up flow was clumsy, involving long back-and-forth email chains and manually timetabling each volunteer on paper. One volunteer coordinator that we spoke to described this as the ā€œbane of her lifeā€. The story on the other side of the process was no less bleak - two-thirds of people that signed up in May never turned up to their first shift.

Not only this, but 40% of active volunteers decided that they didnā€™t want to endure this ordeal and instead simply turned up at City Harvest to volunteer. This creates a scenario in which on any given day there may be a shortage of volunteers, but on the next there are so many that some have to be turned away!

Mobilise aims to solve these issues. First, we lowered the barrier to entry of volunteering in order to increase sign-ups. Now, creating or signing up to a shift takes just a few clicks. Then we turned towards increasing retention, by providing the Hall of Fame and Contributions dashboards as a way to incentivise new volunteers to donate their time regularly. Finally, we gave volunteers the option to maximise their impact by applying computational techniques that provide smart recommendations, and the ability for coordinators to ā€œpingā€ volunteers directly when a particular shift is underprovisioned.

Currently, City Harvest deliver almost three hundred thousand meals out of the nine million needed by hungry Londoners each month. We believe that with Mobilise, City Harvest will be able to come closer and closer to their goal of ending hunger and fighting food waste.

What Iā€™ve Learned

In terms of technical skills, I have picked up a plethora of new languages, frameworks, and technologies.

One of our primary goals was making the user-interaction flow as smooth as possible. React, library for JavaScript, and was integral in achieving this goal - allowing us to model components as simple data transformations, making it easy to create complex UI from deep data structures.

Starting from simple prototypes, I was able to learn how to deploy production-grade software, and keep it healthy by utilising industry-standard continuous integration/continuous deployment techniques.

One major takeaway for me personally was that code that is prototyped quickly becomes difficult to maintain. In future, I will definitely be more cautious of balancing rapid iteration with the build up of technical debt.

However, a large portion of this project involved developing my human-centered design skills. This included being able to work closely with clients to gather requirements, and rapidly iterate on their feedback. Having to consider the needs of two different sets of end-users (volunteers and coordinators) added complexity to this task. The ability to interpret and respond to user feedback effectively was arguably the single thing that contributed most to our success.

Naturally, this project required strict time management in order to balance a full-time internship with part-time Charity Insights work. This was made harder by the fact that we were no longer working in the same physical location, and as such any coordination had to be supplemented with lots of late-night video calls. In this respect, Iā€™ve learned how to coordinate with a team asynchronously, and gained insight into what works and what doesnā€™t.

Looking back on the past four months of work on Mobilise, itā€™s a great feeling to see the culmination of our efforts doing good at City Harvest. I hope that in the long-term our application will aid to the incredible work they do, and I am eternally grateful for this opportunity to contribute