There is no doubt that we live in an area of great talent and ambition. Silicon Valley developers are always applying cutting-edge techniques to solve problems in creative ways. But as good-intentioned as they are, it is difficult for developers to see problems that affect thousands or even millions of people in foreign countries, particularly developing nations. There is tremendous potential in building this bridge between those fundamentally affected by local problems, and the talent and motivation of innovators in the Valley, and we seek to build precisely these cornerstones of a more globally aware world.
What it does
Embr instantiates a phone number that receives messages from people around the world, who are looking for a simple way to share the issues they encounter in their daily lives. These text messages are routed through Twilio API to a k-means classifier, which clusters these messages by primary topic. After these clusters are generated, d3.js is used visualize the prevalence of each request in an intuitive way.
Challenges we ran into
There were pretty significant development challenges in every phase of the project. d3 proved to be a difficult language to deploy on heroku. Twilio's API required the project to be hosted on Heroku, necessitating the switch to Node.js for receiving and processing the http POST request. Although IBM Watson's API for supervised ML was very well structured, we wanted an unsupervised model to accommodate problems suggested outside the scope of our expected ideas. Thus, we needed to implement our own clustering algorithm from scratch.
Accomplishments that we're proud of
We managed to learn about a large number of different frameworks and quickly pick up languages we had no prior experience in.
What we learned
Web development frequently involves a medley of different data structures and frameworks all interacting in tandem, leading to set of dependencies often far more complex than anticipated when starting the project.
What's next for Embr
In the spirit of our original goal, we would further spread the reach of Embr by developing further ways for those in developing nations to interact with our system. We would focus on developing for two other major platforms, WeChat and WhatsApp. We would also perform user surveys on developers in the area to ask them about the types of problems they are most interested in tackling, as well as the means in which we can best inspire them to keep expanding their horizons beyond what is in their collective backyards.