Taxi Stockholm

Taxi Stockholm was a long-time partner of Bontouch, and I had the privilege of being part of the team for approximately one year. During that time, I led multiple improvements across both the customer-facing app and the driver's app. Among these were two of the most complex features I contributed to: the implementation of a new login method using One-Time Password (OTP) and the ability to add an extra stop during an ongoing trip.

Below, I will walk through the processes behind the development of these two features.

Duration: August 2022 to May 2023

My role: Design Lead / UX Designer

Team: 1 Team Lead, 1 Product Lead, 1 UI Designer, 2 iOS Developers, 2 Android Developers, 1 QA

One-Time Password

As part of an ongoing effort to modernize the app and improve security, Taxi Stockholm decided to introduce a new login method based on One-Time Password (OTP). The goal was to offer users a safer and more seamless authentication experience by replacing traditional password-based login. This change not only enhanced data protection for both customers and drivers but also reduced friction during the login process, supporting Taxi Stockholm’s broader mission to deliver a smooth and reliable digital experience.

Now, imagine making changes to an app used by hundreds of thousands of people. We needed to ensure that we mapped out every possible scenario to avoid disruptions for both drivers and customers. To achieve this, we collaborated closely with stakeholders across teams, aligning on expectations, edge cases, and implementation details from the very beginning.

The close collaborations led us to define seven distinct user scenarios, each requiring a tailored flow. We accounted for new users, returning users, users switching devices, and those updating or reusing email addresses, including edge cases such as entering an email already linked to another account. By mapping out these scenarios in detail, we ensured that the new OTP login system would handle real-world complexity without compromising usability or data integrity.

Collaboration & Teamwork

Having close collaboration with the Taxi Stockholm team made a huge difference throughout the project. In addition to working with their product team, I had frequent syncs with their backend developers, which helped us align early on backend capabilities and data flows. This tight communication helped us avoid surprises later and allowed us to design within real technical constraints, without sacrificing user experience.

On our side at the agency, we had strong support from QA. Through regular regression testing and intentional attempts to “break” the flow, we discovered additional edge cases and error conditions. This led to more robust designs, including dedicated error states and a retirement screen for deprecated flows.

I also organized weekly design syncs where the whole team was invited to contribute ideas, flag technical limitations, and share feedback. These sessions were not only productive, but helped build a positive and collaborative environment. To set the tone, I often started our syncs with a quick game or warm-up activity tied to the product we were working on — a small thing that made a big difference in team energy and openness.

Visualizing Complexity

Once the scenarios were defined, we worked across teams to translate them into detailed, testable flows.

What started as a login redesign quickly evolved into a full logic system, with branching paths designed to handle everything from device switches to reused emails, profile recovery, and verification failures.

Each case had its own rules, technical constraints, and edge conditions, so clarity and resilience were top priorities. The QA team played a key role in stress-testing these flows, surfacing hidden gaps that led to even more robust error handling and recovery states.

The result was a comprehensive map of seven distinct flows, giving us not just one OTP experience, but an adaptive system that could flex to real-world user behavior.

Sketching & Testing

After mapping out the flows, we brought the OTP experience to life through an interactive prototype. To validate it, I organized and conducted usability tests — both remotely via Zoom and in person using a phone prototype.

Testing early versions with real users surfaced critical insights that the flow diagrams alone could not predict. Users hesitated when entering emails across multiple screens, misunderstood feedback messages, and some struggled to complete the process smoothly. These moments helped us spot friction points and emotional reactions that were not obvious on paper.

Based on this feedback, we streamlined the flow, reduced cognitive load by combining screens, and reworked copy to be more direct and reassuring. Testing also helped us prioritize design for error states and edge scenarios, ensuring that users would feel supported not just when things went well, but when things got complicated.

Final Design

The final version of the OTP login experience was the result of continuous iteration, collaboration, and user feedback. It streamlines the onboarding flow, handles real-world scenarios gracefully, and guides users through verification with clearer language and adaptive feedback.

Here are some highlights from the final implementation:

Designing for edge cases & error states

In addition to the happy path, we designed clear, actionable error messages to reduce confusion when things go wrong, like incorrect OTPs, invalid phone numbers, or canceled verification.

Streamlining the onboarding flow
We reworked the start of the journey to simplify copy, reduce friction, and improve how we ask for permissions like location, Bluetooth, and notifications.

Refined microcopy for clarity and confidence

Small details like tone, hierarchy, and button states helped guide users more smoothly through the verification process.

Impact & Learnings

By implementing the OTP login and refining the onboarding flow, we enhanced user security and streamlined the user experience. This project reinforced the importance of cross-functional collaboration and proactive error handling in delivering robust digital solutions.

Previous
Previous

Elite Prospects

Next
Next

Envac Reflow