Back to blog
May 01, 2026
3 min read

Your app isn't broken. It just feels broken.

I reviewed two live apps from founders recently. Different industries, different teams, same problem. Here's what I found.

I reviewed two apps recently. Different founders, different industries, different teams.

Same problem.

Both apps worked. They just didn’t feel like they did.

What showed up in both

Form submissions with no feedback. The user taps submit and nothing happens. No spinner, no confirmation, no error. Just silence. So they tap again. Maybe again after that. Now you have duplicate submissions and a user who thinks your app is broken.

Loading states that froze. A spinner that never resolves reads as a crash. It doesn’t matter that the request eventually came back. By the time it did, the user had already decided something was wrong.

Actions that completed silently. The thing happened but the app didn’t say so. No toast, no state change, no visual confirmation. Users don’t trust what they can’t see.

Broken UI states that made working features feel buggy. A button that stays disabled after it should be active. A list that doesn’t update after a successful delete. A screen that looks exactly the same before and after an action. Working features that feel broken because the UI didn’t follow through.

What these actually are

These aren’t engineering failures. They’re communication failures.

The features worked. The problem was that the app wasn’t talking to its users. Every action needs a response. Every state needs a signal. Every completion needs confirmation.

Users don’t debug your app. They decide it’s broken and leave.

The thing I kept coming back to

WhatsApp doesn’t have your attention because of its feature list. It has it because sending a message has always just worked. That’s the bar. Not perfect design. Not a long feature list. Just: does the thing you promised to do feel like it’s doing it.

If your app can’t do its one core thing smoothly, everything else you build on top of it is just more weight.

What to check right now

Go through your core flow and ask at every step: does the user know what’s happening? Does the UI confirm what just happened? If the network request fails, does the app say something or just freeze?

If the answer to any of those is no, that’s where users are leaving.


I do UX and code reviews for founders building on React Native and Expo.

Book a 30-minute call: cal.com/gr1ntch/30min

or reach me at odewumimighty@gmail.com