Mobile App
iOS
Android

Overview:
SUMMARY:
Veezu is a ride-hailing app focused on making journeys reliable, accessible, and local for communities across the UK. Passengers can book a ride on demand or schedule in advance, with accurate pickup and destination locations helping drivers get passengers to the right place.
Company:
@veezu
Launched:
June 2026
Role:
Senior Product Designer
Team:
Aleksei Provorov, Danilo Aliberti, Gus Ward
Intro
So often, when you book a taxi, you expect the driver to arrive exactly where you asked them to. But the reality can be far from perfect. You might find yourself having to cross the road, searching for them in an unfamiliar car park, or to your surprise discovering they've arrived at a completely different location.
This problem was far too common during my time at Veezu. Passengers were entering the right location, but somewhere between their input and the information processed by our apps and iCabbi (our dispatch software), that location wasn't what they intended.
My role was to investigate the root of this location problem and figure out how we could improve accuracy and give passengers greater confidence that their driver would arrive at the precise location they selected.
Before — The home screen relied on a single pin and search fields to set the pickup or drop-off location
A small delay, a bigger ripple
The impact went beyond simply arriving at the wrong place. For passengers, it created delays and uncertainty, often leading to premature cancellations. For drivers, it meant wasted time calling passengers to work out where to meet, resulting in longer average job times and affecting the efficiency of the wider dispatch network.
HYPOTHESIS:
How might we ensure the location a passenger selects is accurate and understood consistently by both our app and dispatch system, while giving drivers the context they need to find them quickly?

Speaking to passengers and drivers to understand pickup and drop-off frustrations
Looking under the hood
Our engineering team explored multiple causes, including GPS accuracy, address snapping, outdated map data and routing logic. The root cause, however, was far more obvious and right in front of us. Passengers were entering a correct address, but it wasn't being validated against a reliable latitude and longitude coordinate. The system would then fall back to iCabbi dispatch data, meaning drivers could end up seeing a completely different address.
Early explorations of how passengers could confirm their location within the booking flow
Precision without friction
With the underlying issue found, I turned my attention to the passenger experience. An address alone wasn't always enough. Passengers needed to pinpoint their exact front door, the back of a building, or a specific meeting point.
This meant revisiting our booking flow to introduce exact pin confirmation without adding unnecessary friction. The core experience already worked well, so we didn't want to add another step for every passenger.
I explored multiple entry points across the search experience, testing how we could surface pin confirmation at the moment it was most useful. I ultimately landed on a custom action bar pinned above the keyboard, giving passengers an easy way to “Set pickup location on map” for both pickup and drop-off when they needed greater accuracy.
Pin confirmation explorations
Making every pin count
Pinpointing the location exposed another issue with the existing map experience. The pin was designed around a large ETA and different pickup and drop-off states, making it too large for precise location selection. Passengers had to zoom in repeatedly to position it accurately, making it difficult to select a front door or the back of a building.
I explored how we could simplify the pin to make it easier to select an exact meeting point, while also considering how the new design could be adapted across smaller parts of the interface to maintain a consistent language for pickup and drop-off locations.
By saving the details once, passengers could reuse notes across multiple journeys
Save once, reuse every time
The third part of the problem was reducing the amount of communication between drivers and passengers trying to find each other. We found that only 20% of passengers were adding notes to their bookings, despite many of these journeys being to places they visited regularly. If more passengers could easily provide this context upfront, drivers would have a better understanding of where to meet them and could find them faster.
We saw an opportunity to make favourites more useful by allowing passengers to save a note alongside a location. Instead of typing the same instructions every time they booked, they could save them once and reuse them on future journeys.

Final designs brought a more accurate and consistent pin experience across pickup and drop-off
A faster, more reliable pickup
My work focused on closing the gap between the location a passenger selected and what the dispatch system understood, while giving drivers the context they needed to find them quickly.
This contributed to a 30% reduction in location-related errors, helping ensure passenger-selected locations were accurately passed through to dispatch. The improvements to pin confirmation and driver context also contributed to a 10% reduction in average pickup time and 20% fewer driver-to-passenger calls.
By making favourites more useful, I also helped increase adoption to 32%, with more passengers saving frequent locations and adding reusable notes for future journeys.
Final designs across home, search and pin confirmation screens
What I learned
I learned that you can only control so much when it comes to the accuracy of a pickup or drop-off location. GPS accuracy, address snapping and how the system behaves when something fails can all affect what ultimately reaches the driver.
I also learned that this wasn't a problem affecting every passenger, which made the balance between solving the issue and introducing additional friction particularly important. The core booking flow was already efficient, so changing it wasn't an option. Instead, I focused on making greater precision available when passengers needed it.
Ideally, I'd have liked to A/B test different entry points for pin confirmation, but the complexity of the booking flow made this difficult to validate without risking disruption to an already efficient experience.
Oh you're still here?
Thanks for reading. If you enjoyed this case study and have some thoughts or feedback, I’d love to hear from you.
© 2026 Daniel Hermoso







