I have spent a good chunk of the beginning of this year developing my first React Native app.

You can download it on the Apple App Store if you are on iOS.

You can also check out the website.

Tech

The app is written in React Native using TypeScript and Redux.

For privacy reasons, all the user’s expenses are saved on the device itself, with the possibility to back it up in DropBox.

The website is hosted on Netlify.

The code is available on GitHub

Vision

I wanted to find a simple way to log my expenses and have a quick look at where my money goes, month by month. I found it scary that most of the highly rated apps on the App Store would ask for my personal information before I can start logging expenses or even ask me to link my bank account.

So I have built this app for fun and my own usage. I have been using it everyday for about a year and it has been super helpful. A few friends have been using it as well and the feedback has been good.

React Native

I had never worked with React Native before and here are some high level thoughts.

  • If you are building more than a prototype, eject from Expo ASAP. There are too many limitations and perfomance issues.
  • Setting up TypeScript was a bit tedious, at the time I could not find any boilerplate that worked for me and ended up doing it the hard way and setting up everything from scratch. Feel free to have a look at my project and reuse my setup.
  • Same thing for Jest and Enzyme, not straight forward but now it works like a charm.
  • I started by looking at some UI libraries like I would do for a React Web project. Most of them are really limited or not free. The ecosystem is definitely not as vibrant as React for the web. React Native flexbox works differently than on the web, http://flexbox.buildwithreact.com/ was super helpful during development.
  • I have enountered very limited performance issues and would definitely use React Native again if I had to develop another app. As a mostly React developer in my day job, using React Native was an absolute delight.

Once again, thanks for reading and if you happen to use the app and have any feedback, Send it Here