A day’s deliveries, routed in ten minutes.
Adoptamiu is a non-profit shop in Peru that sells only for cats, and delivers 20 to 40 orders a day by bike and by car. Every route was planned by hand: look up each address, guess an order, find out at the last minute that a bike was overloaded. That took about 45 minutes a day. It now takes about ten. This is how the business works, what we built, and what it changed.
- Client
Adoptamiu- Where
- Lima, Peru
- Work
- Cat shop with home delivery
The business
Adoptamiu sells food and products for cats, and most of it leaves the shop as a delivery. On a normal day that is 20 to 40 orders, carried by a mix of bikes and cars. The delivery partners are paid by the kilometre, so every extra kilometre on a route is money the shop spends.
Planning those routes was a daily job, and all of it was manual. Open each order and copy out the client’s details. Look up the address and check it is right. Put the stops in an order that seems sensible. Then load the vehicles, and find out that one bike is carrying more than it can.
The addresses were the slowest part. Addresses in Peru are inconsistent, and Lima alone has at least four streets with the same name, so a delivery could not be trusted to the first match on a map. Each one had to be checked, and checked again the next time the same client ordered.
It worked, but it cost about 45 minutes a day. The routes were ordered by feel rather than by distance, so the per-kilometre bill was higher than it needed to be, and the weight problems surfaced at the last minute, when the routes had to be reshuffled.
| Step | How it was done | What it cost |
|---|---|---|
| Orders | Opened one by one, client details copied out | Time, every order, every day |
| Addresses | Looked up and checked on a map each time | Wrong stops where street names repeat |
| Route | Stops put in order by feel | Extra kilometres, paid per kilometre |
| Load | Weight found out at the last minute | Routes rebuilt at the last minute |
What we built
A small web app that plans the day’s deliveries from the shop’s own orders and hands each partner a route ready to ride. The team picks the orders and the vehicles available; the app does the rest and leaves the final say with them. Four pieces, in the order they were needed.
Starts from
- BsaleOrders, clients, weights
- The address bookPins checked once
- Today’s vehiclesBikes and cars
What each partner gets
- A route per vehicle
- A Google Maps link
- A WhatsApp message
01One address book, checked once
Clients and their orders already lived in Bsale, the shop’s sales system. A background job pulls every client from it into a Google Sheet that serves as the address book, and keeps it current without overwriting an address someone has already confirmed.
Each new address is placed on the map automatically but marked unverified. The first time a client is chosen for a delivery, the team sees the pin, confirms it or drags it to the right door, and saves. After that the address is reused as it stands. Around 4,000 addresses have been through it, and checking one is now rare.
A Google Sheet, on purpose. The team can open it and read an address for any other job without asking anyone.
02Routes that respect the load
The team selects the day’s orders and says which vehicles are out: two bikes and a car, or only bikes. By default the planner uses the fewest vehicles that can cover every stop in the delivery window, because a car route nobody needed is a cost.
Weight is part of the plan, not a check at the end. Order weights come straight from Bsale; a bike carries about 25 kg and a car about 300. Google Maps takes at most ten stops in a route, so a longer route is split into a part one and a part two without anyone having to count.
03A person has the last word
Every route is shown before it goes out: the stops in order, the total kilometres, the estimated cost and the limits being applied. Nothing is hidden behind the plan.
Then the team adjusts what only they know. Three bike routes at 24, 24 and 5 kg can become two at 26.5 kg each, because the bikes handle a little over 25 in practice, and one route fewer is paid. A stop with refrigerated products or a priority client moves to the front.
04One click to the road
Once a route is right, one click produces two things: a Google Maps link with every stop in order, and a WhatsApp message listing each client’s name, phone, address and district, formatted to paste straight to the delivery partner.
Nobody types an address out any more. The partner opens the link and rides, and has the client’s details in the same chat.
The planner proposes and a person decides. The limits are a starting point; the team knows the bikes and the clients.
What it changed
Routing the day went from about 45 minutes to about ten, and those ten minutes include the review. That time comes back to the team every working day.
The routes are better as well as faster. They are planned on distance, so the per-kilometre bill follows the real geography rather than a guess, and weight is settled before anyone packs a bike. Addresses are checked once and then trusted, and the delivery partners leave with everything they need in one message.
- 10 min
- to route the day’s deliveries, down from about 45
- 20–40
- deliveries a day, across bikes and cars
- 4,000
- addresses placed on the map, each checked once
- 1
- click to send a partner the map link and the stops