Designing beyond the happy path

As designers, our goal is to create the best product and deliver an amazing user experience. Along the way, we have invested our efforts into designing an idealistic, super-smooth experience with a visually appealing interface. All elements have been carefully planned and aligned to help users achieve their goals.

However, on the journey to success, we may encounter obstacles or unexpected challenges. If we don't have the answers, we risk ending up with a failed experience.

So, what should we be aware of to design a successful user experience?

Happy and unhappy paths

The happy path is typically the first design that you will create, as it is the path that users are expected to take more often. This path leads users to successfully complete a task or process, resulting in a positive outcome.

On the opposite side, unhappy paths are all the remaining scenarios where exceptional or error conditions happen, preventing the user from getting stuck in the flow or from unexpected events.

Designing the happy path is important, but it's just as important to design and anticipate all those other different paths the user might take. What happens if they don't use things as expected or as the happy path would define? What happens if the internet connection fails? How does the interface respond in those scenarios?

We should ask all those types of questions while designing a solution and start creating unhappy or alternate paths to build better products.

Designing successful and unsuccessful paths for a complete user experience.

Making unhappy paths part of the process

Thinking about unhappy paths at the beginning of the process, still in the early stages of the UX definition, helps to optimize the time and future-proof the designed solution. It also reduces the possibility of future UX/UI issues while improving the design <> engineering relationship friction.

How to incorporate them into your process:

  1. Identify key user flows: Begin by mapping out the primary sitemap of your product and determine the key user flows that require focus. Identify the parts of the experience that will trigger other paths.
  2. Map the happy paths for each user flow: For example, consider a user starting from viewing a product on a landing page to completing a purchase. Two key flows that can be identified are the “Login” and “Checkout” flows.
  3. Conduct research: Once you have identified the most obvious or known paths in your flow, seek out examples from competitors and other sources. Test these paths beyond the happy path and evaluate if they make sense for your product.
  4. Explore alternative paths and define unhappy paths: Map out additional flows, screens, or error states that may be required or triggered with the help of the existing product requirements.
  5. Test and iterate: Create prototypes and test the flows with your users. Validate your assumptions, discover new unhappy paths, and iterate on your solutions.

Design to prevent unhappy paths

In some cases, we can step up to maximize the user experience and ensure the users don't even encounter errors. Some behaviors or design decisions can elevate your solution to steer users on the happy path with good UX design.

5 ways to reduce experience friction:

Adding context to error messages guarantees users understand the problem they’re facing.


Designing for both happy and unhappy paths helps make sure the user gets back on the right track when using a product. It’s important to understand and design for all the scenarios in which the user might incorrectly use the product, although it’s unlikely to cover all of them. As you gather more insights from users regarding their usage of the interface and their unexpected decisions, iterate and improve your solutions.

Think beyond the happy path to build better products.

Vasco Vieira
Product Designer