Jan Wilmake's Blog

Chat with This Blog

Seven mistakes I think my software company made building their React Native App

For about 8 months now, I've worked for a software-company that's building a React Native App for a client. My role is to program features and fix bugs in React Native. After a while, I started thinking more and more about the whole picture of their project, and noticed many things (some irreversible) that I would have a done differently from the start. The biggest problem with the app now is complexity and messiness, but there are some other important things I think can be improved. Here is a summary.

  1. Too much complexity, too early (19x) Programming the app began ±1.5 years ago, and the app went live about a year ago. However, since then, the app has not made any revenue (this is only possible for a few months) and there are just a few thousand users. I'm not sure if there's product market fit (more on this later) so I think it's not a good idea to make the app very complex already. First create a good app for your ideal customer before expanding to different audiences and perfectionizing everything. If you make your app too complex without having found PMF, you become a whale in a bathtub. You wanna be a fish in the ocean. Stay small and flexible, stay agile.

As is oftenly stated, premature optimization is the root of all evil https://stackify.com/premature-optimization-evil/

Here are some things that make the app overly complex:

  1. A Messy Codebase (2x)
  1. Product Market Fit? There are about 7300 users now (of which just 1900 are registred). It's not clear where those users come from (did they see an Ad on our websites, or did they hear it from a friend?). Because of this, it's not clear if there is any viral growth.

Furthermore, how many people have seen the ad, and how many of those clicked on it? And which proportion of users clicking the ad, installs the app? I know nothing.

Also we have no statistics about active users, user retention and average features usage per user.

All in all, I think we can't be sure if there is product market fit.

Maybe our client has these statistics, but to make a good app, I think we should know too, so we can think with them about making the app better.

  1. No good user retention and virality (5x)

Good user retention and virality can be the difference between having no PMF or having PMF!

  1. No user feedback There is no direct feedback from users to developers. There is little contact possible for feedback from users, and there is a middle man in between: The client we build the app for is in charge of user feedback.

An option would be to allow the user to send a feedback message inside the app, which the developers and the client will receive. Based on more feedback, we can steer the product in the right direction quickly. Certainly when we don't have PMF, this can be a very useful strategy.

  1. No web version There is no web version for the app while there seems to be a clear demand for this.

  2. Feature Ownership Not giving developers full feature ownership because there is a strong UI-UX/Frontend/Backend/Testing separation can negatively impact efficiency. Read more here. Of course it's not always possible to let developers have full feature ownership because then you'd need full-stack developers, but at least there should be a possibility for this, because it can be way more efficient.

Conclusion There may be more things, but this is what I came up with in about an hour. I may not be right, because I am not even able to see the full picture (since I'm just a front-end developer), but I’m sure there are many things that could have been done better.

Many refactorizations, simplifications or maybe even a full rewrite will be needed in order to fix all this. Also, I think we should focus more on the value proposition using feedback of our users, and if this is good, growth hacking.

I'm afraid that, if we don't take this serious, the app will be discontinued in the future because profit doesn't cover the high costs of developing it. I'm very much in doubt if we have really found product market fit already and I think every developer should be kept in the loop about the status.

1/16/2019
react-nativeexpoprogrammingdxmvpstartupproduct-development