“We connect the online world with the offline world. When you press that button on the app, a real person comes to you,” is how Jiffry Zulfer – CEO of PickMe describes what they do. It sounds like a very simple explanation. For you and me that use it to get around town every day it is. But underneath layers of code, you’ll find that it’s actually a lot more complex than it seems.
Inside the PickMe Advanced Engineering Centre
Located on the 14th floor of the MAGA building in Narahenpita, this is where the magic happens. As we walk off the elevator, the clock shows it’s lunch time. As such, it’s no surprise that the first thing we saw was of a PickMe Food delivery being completed. Walking in, we see a row of meeting rooms named after programming languages.
Next to this row on both sides are two large open office spaces. The air is filled with the sounds of keyboards clacking and mice clicking. This is where the hive of developers, UX engineers, QA testers, and more ensure the PickMe app works smoothly. Needless to say, PickMe’s engineering team has come a long way from when we first saw them.
“Back when we started we were in a garage. We had meetings in the garden because there wasn’t space,” recounts Jiffry. In those early days, their biggest technical challenge was getting the live meter working perfectly. But as the company has scaled and expanded beyond Colombo, the technical challenges it faces have changed.
The confusing challenge of transportation
At its core, PickMe is a company that is tackling the problem of mobility. A problem which Mithila Somasiri – CTO of PickMe states is quite challenging. Why? Because transportation is so inefficient due to countless unpredictable variables. The most confusing one is human behavior.
Mithila describes it as, “You want to move then you just order a cab and move. That’s why it’s so hard to automate it. The world has automated almost everything else. Traditional logic and algorithms can’t capture it. That’s why our business wouldn’t exist 10 years ago. But data science and AI gives you insights traditional logic can’t. Without these, ride-hailing would be impossible.”
But once the grand problem is solved, then it solves many other problems. For proof one only needs to look at the PickMe app. Where six months ago, it only offered vehicles, it can now also deliver your lunch or dinner to you. And if you look around there are signs that it’ll also soon bring you Panadol or other medicines in the future.
When asked about it Jiffry declined to comment. However, Mithila shared that while these problems may look different on the surface, at their core they are all transportation problems. “It’s simply about moving something from Point A to Point B. Sometimes it’s yourself others it’s just your food,” he said.
Nonetheless, it’s still a challenge they’re working on tackling. This is why six months ago, PickMe doubled its efforts in AI and Data Science. This has allowed them to begin understanding how people move across cities. “We can even tell how people move in a 1 square kilometer block throughout the day,” states Mithila as an example of how detailed these insights are.
Using data to understand the challenge
Using data along with AI, PickMe aims to you always have a vehicle whenever you want to travel. And through data analysis, there is a clear pattern that can be distinguished. During our tour, Mithila showed us a map that shows how an average day looks like for the PickMe platform.
Naturally, in the early mornings, mid-afternoon, and late nights, things are calm. But a little after 7 AM is when the first burst of chaos begins. A fury of circles appears across areas like Maharagama, Dehiwala, Battaramulla, and other residential areas. These are all people looking for a PickMe to get to work.
Many of them make multiple requests. And this pattern is repeated in the evening in Kollupitiya, Bambalapitiya, Union Place, and other central areas. This time it’s everyone aiming to head back home. During our tour, Mithila cited this daily chaos as an example of the human behavior variable.
To him, technology is the easiest part of the transportation equation. “Much of the platform is simply plumbing. It’s just moving messages. But deciding where to send the messages to and at what time is the challenge. Data science and AI helps us build adapting systems that make smarter decisions on this,” he says.
But getting the people to act on that message can be a challenge. A popular example is ensuring drivers are available during peak hours. Jifry commented on this saying, “Getting supply is always a challenge. We throw in incentives and offer a heat map to show it. But when demand rises drivers get picky. Currently, we’re testing a number of things and we’re learning from these experiments.”
The key to a smooth operation: Monitor everything
But what Mithila showed us was merely just data on one screen. Inside the PickMe Advanced Engineering Center, is a wall of screens resembling a NASA mission control center. One of these shows the location of every vehicle in the PickMe fleet online at any given time. Another screen monitors how many drivers and customers are online and how many requests were accepted vs were dropped.
Many others monitor the different components of the PickMe platform. These different components each work together to ensure you get a tuk or a nano or a truck. And the numbers on these screens show they all work in milliseconds. A necessity when PickMe is used by countless people every day.
Thus, there’s a team behind these screens keeping an eye on it 24/7. Mithila also shared with us that typically, many of the issues regarding the app can be solved by the call center agents. In some instances, the issue might be more advanced and require some technical skills. This is where the Level 2 support team comes into play. It’s these teams that tackle the bulk of issues faced by users and ensure developers only focus on the most serious issues.
Sharing the knowledge with the community
As PickMe grew to over a million users, the technology behind it has evolved as well. Mithila and Zulfer both shared with us that with some of these they’re among the early adopters. “The ecosystems around these ecosystems are still emerging,” said Mithila. Furthermore, they’ve also had to build their own libraries and frameworks.
And now they believe the time has come to open source these to the community. Thus, over the course of the year, PickMe will be open sourcing more of its technologies to the communities. Their first contributions will be along the lines of the work they do using Apache Kafka. This is a is a distributed streaming platform. It allows developers to get data between systems and build real-time streaming applications that transform or react to data.
Alongside these open source contributions, Jiffry shared that PickMe will also be looking at hosting meetups. Throughout the year, these meetups would be aimed for the company to share its knowledge. However, this wouldn’t be the first time. Almost 4 years ago, the company held a meetup about Go. At the time it was a new programming language. And according to Jiffry, today PickMe has one of the largest codebases written in Go in Sri Lanka.
And as they share this knowledge, PickMe is also looking at expanding its team. Jiffry echoed the sentiments he shared when we first met them about expanding the team. Both he and Mithila shared that the team inside the Advanced Engineering Center is constantly expanding. Nonetheless, they’re still on the lookout for talented developers.
Because at the end of the day, transportation is a tough challenge to solve. Yet, by solving it so many others are also solved. And right now, PickMe is at the forefront of solving it in the Sri Lankan context. Yet, there’s still work to be done and they’re looking for people that’ll help them solve it faster.