Over 70% of the global population still will not have owned a smartphone by the end of 2015.

Smartify brings internet-connected smartphone apps to any "dumb phones" purely with Call/SMS/MMS capabilities. The following are its potential applications:

  1. In third-world countries to extend the reach of the Internet
  2. New business market in those countries that had not been reachable before
  3. Empower 70% of the global population, who have not had privilege to own smartphones
  4. Provide access to the Internet everywhere for everyone

What it does

We have built an "App Store" for any SMS-capable feature phones. Over this weekend, two of us have built our own real-time web-based IDE, Python-based Core framework and development template that allow developers to easily develop Smartify applications (Python-based) and instantly publish to the app store for anyone to use. These applications all run on the cloud (Microsoft Azure), and communicate with users through SMS, powered by Twilio.

IDE features a real-time phone emulator that developers can test their app. All of the applications on App Store are updated real-time and are securely stored/synced with Firebase.

Our hack consists of 3 main components:

  1. App Store (public app sharing space)
  2. IDE + Phone Emulator (full-featured development platform with a phone emulator, realtime-sync, auto-save, syntax highlighting functionalities, and a development template)
  3. Smartify Core Framework (controls worker machines in the cloud, provides an abstraction layer for complex network web traffics/SMS communication for developers and users, and serves as a mid-way between the cloud and the users)

Tech Stack

  1. IDE and App Store were built with Node.js, Express.js, Firebase, Microsoft Azure, Jade, Sass
  2. Smartify Core was built with Node.js, Express.js, Python, Twilio, Firebase, MongoDB (MongoLab), Microsoft Azure

Challenges we ran into

  1. Multithreaded Python programming
  2. Building a phone emulator
  3. Developing our own network protocol
  4. Enhancing reliability and data consistency
  5. Designing with UI with high degree of usability

What I learned

Building large scalable systems is hard. Design is hard.

What's next for Smartify

Security, Traffic encryption, Horizontal scalability through automated server provisioning, Redesign to further enhance UI/UX, Full-integration of MMS.

+ 22 more
Share this project: