The client, a Sharing Economy startup, believed that the full value of transport networks can only be unlocked by easy-to-use hyperlocal apps, that match transportation demand with supply across public transportation, shuttles, vanpools, taxis, bicycles, carpools, loaner cars, and personal cars form a large and complex network. They decided to build user-friendly iOS apps targeted at several metro areas in the US. The idea behind the apps was to leverage a common cloud platform that enables social and transportation choices, provides geolocation transit data to map out multi-modal transportation options, features real-time feed integration with public and private transportation APIs, provides social sharing and personalization through concepts like machine learning, multi-tenancy etc. The client partnered with Zymr to build these apps due to Zymr’s full-stack software engineering expertise, and in-depth experience in critical areas like cloud infrastructure, security and orchestration.
Zymr decided to use the Spring Integration framework as the cloud middleware, with MongoDB as a NoSQL database for the application. Zymr built a multi-tenancy social SaaS platform and implemented all the cloud services required for it. For the front-end, a set of five iOS applications were designed, developed and continuously enhanced based on feedback. Zymr also provided extensive QE and testing services for these apps.
The result was a complete cloud services solution along with a set of highly rated (4+ stars) apps on the app store. Right from planning the overlay architecture of the cloud server to building beautiful iPhone Apps that provided real-time transit routes, integrating with public and private transportation networks, and testing, Zymr handled it all. One of the biggest challenges for this project was the varying response time when new routes were requested by the user. The Zymr team solved this problem with a few iterative development steps that included profiling, tuning, refactoring and code-reviews, bringing the response time to a consistent 2 to 4 seconds.