Skip to content

carlosaore/mailio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JavaScript ECMAScript 6 React Node.js Express MongoDB NPM Material UI Babel ESLint Prettier


Logo

WCS Hackaton 2:
A social impact with Twilio and Wild Code School

The Mailio app was developed by a team of 4 and aims at improving the daily lives of refugees that by and large don't have internet access or any reliable channel to communicate with the rest of the world.

This app behaves as a virtual "mailman", running in an online smartphone to send WhatsApp messages that have been "posted" by smartphones without an internet connection and "collected" using QR codes.

Mailio was built using React during a 48 hours hackathon in web developer Bootcamp by four developers.


View Demo · Contact


Table of Contents

💥 The hackathon

In our final stretch of the bootcamp, we participated in a 48 hours hackathon sponsored by Twilio.

We were asked to use one of many Twilio products to solve a large-scale social problem in an "innovative way".

🏉 Who are we?

We are Aya Berdyeva, Carlos Orellana, Dean Leonard, Roxana Florea, and Viet Quoc Pham, four students of Wild Code School. At the moment these lines are being written, we are about to finish a "Web developer" Bootcamp that is 5 months long and is teaching us all the technical know-how and knowledge to develop interactive websites using HTML, CSS, JavaScript, so we can take a React and Node JS development project to completion (fullstack).

🧠 The idea

While brainstorming what social issue we could focus on, we noticed a common denominator in all our ideas: connectivity. It was then where we realized that by trying to use the internet (connectivity) to make a social impact, we were completely disregarding people that don't have connectivity.

As it turns out, very large groups of people don't have regular and reliable access to the internet or any other form of connectivity. In third-world countries, many settlements in rural or mountainous areas just don't have internet, cellular network, or landlines. Refugees also suffer from the same problem. Refugee camps are often situated in areas without cellular network, or if there is, internet access is expensive and hard to get to.

After doing some research, we decided to focus on the issue of the lack of connectivity in refugee camps. Concretely:

How do you allow people in refugee camps to send and receive messages when they largely don't have internet or cellular network, even if they do have smartphones (or access to one)?

🌍 Some context

The following has been adapted from the essay "Connectivity for everyone" by UNHCR

As exhausted, fearful refugees arrived onto Grecian shores, the very first thing some of them asked for was an Internet connection. To them, water, food and shelter could wait. Letting their loved ones know they had made it to safety could not.

Time and time again, refugees have demonstrated that connectivity is of critical importance to them. Refugees living in Tanzania sacrifice significant portions of their food rations in order to buy data. In the Dzaleka refugee camp in Malawi, people who cannot afford anything beyond their basic needs still walk to the center of camp with a single penny: enough to buy one minute of online time they can use to send a brief Facebook message.

Globally, refugees are 50 percent less likely than the general population to have an Internet capable phone. While 20 percent of rural refugees have no access to connectivity, urban refugees often have access but cannot afford to get online.

Syrian refugees transiting Europe had smart phones, but no way of contacting family.

The multiplying effect of connectivity are clear: Getting online is the only way to communicate with family left behind or gone ahead. It’s also one of the best ways for them to access trusted sources of information about the asylum process and its changing procedures.

❓ What does the app do?

In simple terms, the app allows people in refugee camps to send and receive messages using the WhatsApp Business API from Twilio.

The following lists depict the three main use cases of the app:

If you are a refugee in a camp and you want to send a message:

  1. An "offline" instance of the app would run in the offline smartphone of a refugee where him or her can create a message and input the intended recipient's phone number.
  2. The app then encrypts the message and generates a QR code.
  3. That QR code can then be scanned by someone else with another instance of the app, running in a smartphone that does have access to the internet, which will send the data contained in the QR code to the Mailio servers.
  4. The Mailio servers receive the data, decrypt the message and then use the Twilio API to send it to the intended recipient.

If you are a refugee in a camp and you want to recieve a message:

  1. A designated "mailman" with an online instance of the app receives the encoded message (more on this later) that the app can locally show as a QR code.
  2. The mailman "gives" the message to the refugee in the camp by showing the QR code.
  3. The refugee, with his/her offline instance of the app, scans the QR code, therefore grabbing

If you have internet access and want to send a message to a refugee (e.g. a family member "Fam."):

  1. You use the app to write the message, making sure that you input the intended recipient's phone number, even if he doesn't have internet or cellular network in the camp.
  2. The app sends the message as data to Mailio's servers.
  3. Mailio's servers then use the Twilio API to send it to a "mailman" who has regular contact with the intended recipient.
  4. This last step would be the first step of the previous list.
The following scheme shows the flow of the application: Logo

If you want to demo the application, please contact us. The app uses the Twilio sanbox for testing so all the features may not work for you unless we "activate" the sandbox first.