Sam Kitonyi is a software engineer from Kenya with interests in mobile money and entrepreneurship. He currently leads JUMO's mobile integration dev team, using Python to unlock the financial potential of mobile money platforms and feature phones. Prior to that he co-founded and served as CTO of Weza Tele, a retail intelligence and order management startup; served as lead developer at Nailab, a startup incubator in Nairobi; and consulted for the Clinton Foundation. He continues to be active on the Nairobi startup scene.
For the typical mobile data environment for smart phones there are many tools and frameworks available. However, Jumo's customer base typically doesn't have access to data or sophisticated smart phones. Instead, the customer journey is implemented using USSD with out-of-band communications by SMS. Building a USSD framework to run as part of our application rather than having to add the operational complexity of another service was an obvious solution. Python was a great fit for this work.
This talk will be a developer’s look at how Jumo implemented a highly flexible USSD/SMS system with Python, built tools within our system to manage the complexity of multiple products in multiple markets and scaled up the system to many tens of thousands of transactions per day. We will focus on how Python’s strengths fit well with the needs of text-based mobile messaging, what techniques are used to build it for scale, and how tooling was constructed to deal with the complexity of multiple user journeys.