Bringing something new to life can be unimaginably hard and can take years to accomplish. Specially when you are developing something that hasn’t been done before.

This is the story of the most impacting challenges I have faced as a developer creating a new travel app.

You will face this, too.

Challenges for any project are an everyday issue.

1. Prototype First

What you created two months ago, today is obsolete.

Once, we had to create a new module in our travel app to choose seating in a plane. We only created the user interface, no interactions. After that we showed it to a potential client and they said it needed to change. We needed to discard what we had and start all over again.

Fortunately, we hadn’t even started to write the functionality of it.

We have tools nowadays to Pretotype, or you can use something called Usability Testing. Either way, create a mockup and test it with real users before you start the development process.

People tend to change opinions as fast as they change their underwear. Pretotyping and Usability Testing are good ways to know for sure if what you plan to do is of real value to users.

2. Iterate Constantly

Your first idea definitively won’t be the best.

After doing more Usability Tests, we found out the correct way to show the specific information in our seating module. We discarded our first idea and started working in a new one. Some users wanted it to be shown on the left, others on the right.

The final result was interesting: the perfect way was to show it somewhere else than where we originally intended it.

You need to iterate what you already have and transform it. It may be a new interface to select bags, or a new way to find you flights, or … so on.

Let’s say you already built something you are comfortable with. You may feel like you are finally building something the users may be ready to use, but that may not be the case. Some users would be happy with your first iteration, but most won’t. Changing and evolving is the key point to this.

3. Find the Right Users

No use testing with the wrong users.

Having finished our seating module, we tested with travel users, and … they hated it. The problem was that travel users were focusing more in the handheld version of our app and our test group had focused on the desktop version. They weren’t really the type of travelers we were creating the app for, so even though we did the testing, it was a giant waste of effort.

You already have something that is working. It feels tangible and you are proud of it. So, great, go test it. But make sure that what you’re building is going to be good to the final user.

You may be tempted to test with your team, your friends, or even your family. Instead, find real users.

You will probably find a community willing to help you with your research. Tools like Slack, Reddit, and social media are a good place to start.


For me this came as a shock.

Our seat module was not perfect at the beginning. We needed to do the research, iterate, and test with real users. You will, too.

Your first solution may not be the best. My general advice to you is, get out of your own way and do the hard work to get the best solution possible.