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.

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 perfecting 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 often stated, premature optimization is the root of all evil

Here are some things that make the app overly complex:

  • Internationalization way too early, adding much complexity to the codebase

2) A Messy Codebase (2x)

  • Having much old bad code in the codebase and leaving it there, not taking the time to refactor it, but having to struggle with it very often

3) 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.

4) No good user retention and virality (5x)

  • Doing almost nothing about user retention; no e-mails and no newsletter

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

5) 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.

6) No web version

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

7) 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 within 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 seriously, 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.

I am a programmer, writer and entrepreneur. Read more from me on http://karsens.com/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store