/ conversations

“We can implement the flow that we want”: we talk to Goodbox

Totally customizing the delivery workflow and saving supermarkets from nightmares with 2.5 engineers.

Goodbox is a Bangalore-based platform that connects supermarkets with their customers and facilitates local deliveries; they use HyperTrack to manage delivery dispatch. Mahesh Herle is co-founder and Chief Technology Officer.

What does HyperTrack help you do?

Goodbox is similar to Instacart in the US, except we take care of 100% of the deliveries—whether the order comes through Goodbox or someone has walked in and directly placed an order for a home delivery. We have a shared fleet of delivery persons who travel on motorbikes to do deliveries and collect payment if needed.

We use HyperTrack to track where the delivery person is going, when he is going, whether he’s on time, and we do all of these checks to make sure that the customer experience is how we want.  For example, if someone is not going to be able to make a delivery within X time, we can immediately follow up with the customer.

What brought you here?

We had been using another delivery tool that was an integrated driver/delivery app and operations dashboard, but their app was very rigid and there was zero customization possibility.

We want to ensure a certain delivery partner workflow. For example, when he is taking the order from the supermarket, we want the delivery person to take a photo as proof to send to the customer. Similarly, when he does the delivery at the customer place, we want him to take a photo of the building—so that the next time, when another delivery person comes, we can show, “this house will look like this.”

We can implement the flow that we want.

Also, I need to say, you cannot start the delivery job if you are not hitting this geolocation. And, every time you log in, I want the license plate number of your vehicle. We have an integration with some apartment complexes who have software for which we can push, “this delivery person is coming to your complex with this vehicle number” so they can automatically let the person in without any delays.

This is where having the HyperTrack SDK helped us, along with your sample apps. We can implement the flow that we want.

Talk about building on the HyperTrack platform.

One of the beautiful things about HyperTrack is that we were able to get up and running very fast, without having to invest too much time on it. We went live within a week.

The integration with our order management system was really fast. Wherever we were sending data to our previous platform, we could just send it to HyperTrack instead. It was trivial for us to just plug it in.

The bigger part was developing the delivery app, but this is what’s so good about HyperTrack. HyperTrack open-sourced a sample app that we could take, modify, and go live. Our rider app is actually forked from that app, so we did not have to spend a lot of time in getting the app developed. It was, like, within a day that we were up and running.

The intermediate system took a few more days.

Our backend is a monolith written in Python; our consumer-facing web and mobile apps talk to this as well as to the delivery partner app. To keep our system updated, we run a periodic cronjob, a “where are the riders?” job, that uses HyperTrack APIs. Where are the working drivers? Is each location stale or not stale?

When we get an order from a store, we have an allocation algorithm that runs every minute and decides whether it is the right time to go and deliver, or if we should wait for more orders to come so they can deliver with full capacity instead of doing one order at a time. When it’s time to make the assignment, HyperTrack allows us to ensure that the nearest guy gets the order.

The delivery person’s mobile app gets a notification, “This is the order you need to do.” Then, we know, where is the person? Is he near the store? If he does not come to the store, then we can alert the ops team and follow up. Maybe he’s taking a tea or coffee break.

What’s next?

We want to empower our operations team with a little more intelligence.

HyperTrack has a way of pushing events to our system when something changes on the field. For example, HyperTrack has geofences, and it will tell us when someone enters or leaves. Those are very useful, and ideally we should use your webhooks.

I want the ops team to get the automated notification, “hey, this was picked up here and it was dropped here,” and see that the location is correct in the HyperTrack dashboard embedded directly in our app. I am not trying to write JavaScript code in the UI to show location history. I will be able to leverage the HyperTrack embedded views to be able to do that.

I appreciate the work involved and I would prefer not to put in that effort.

We should do that but we have not gotten to it yet. We are a small team—3 people, or 2.5, really, because I am not coding full time—and we are constrained on bandwidth.

Do you ever sleep?

Before Goodbox pivoted to this, we were doing a different business that involved tracking assets, and that time, we wrote our own application to track location, so I understand the requirements to make this work. There are so many nuances on the mobile platforms, and more and more restrictions on doing this, doing that, doing things in the background.

If you want reliable location intelligence, you need to invest enough into building the runtime, and I know it is not a trivial problem. I appreciate the work involved and I would prefer not to put in that effort, because that’s not core to us.

If I had 100 million dollars and could build a large team, then maybe I would do it. But I do not have that.

100 million dollars sounds like a lot.

If supermarkets didn’t have Goodbox, they would have to manage delivery themselves, and that would be a nightmare.

We are like an elastic service, so they can manage more orders when there is demand but they don’t have to pay for more guys on a weekday. We manage their buffer like that. It is about ensuring that we are able to do delivery at good unit economics, and provide better service to our supermarkets with fewer people.

They would have to manage delivery themselves, and that would be a nightmare.

How do I make sure that a supermarket grows business because of us, at very low cost, and in a very professional way? I would rather solve this problem, than, you know, how is tracking broken by an Android update? That is why we picked HyperTrack.

Our application is working the way that we want. I do not have a problem as such right now. When there are new things that come up in the business, I will probably come to you asking, hey, Jonathan tell me how I can do this.

We’ll need to scale that beyond just one guy. We’re gonna try to make a worldwide community.

I think you will be able to do it.