After thinking hard and long about what kind of side project to do next and couldn’t think of a “good” and “unique” app idea, I decided to make my own expense management app. The goal is just to add to my portfolio of applications and learn new frameworks and tools as I develop it.
I have been using Expense Manager on Android for years, however the problem with using other people’s app is that there is a limit to how much I can customize it to suit my use the best. The way I use it, I only log my expenses every day and export it as an Excel file to review once a month.
It does not have an option to show the budgets I set every day/month right on its home page so that I can stop myself from overspending or being able to spend without feeling guilty whenever I log a new entry. In order to view my budgets, I have to tap some links. I would prefer it to remind me of how much I have spent and how much I can spend upfront when I open the app.
So I have been developing this application. The purpose is to learn all the following technologies in one go
- Golang with Gin framework for backend, a RESTful Web API service.
- MongoDB for data storage.
- ReactNative for frontend.
- Possibly scalable system using containers and kubernetes.
The application will have the following features
- Offline first design with auto sync with server. AKA Google Keep. Conflicts will be resolved automatically.
- Scalable storage using MongoDB.
- Charts and summaries, budgets, etc. Simple and targeted to financial minimalists.
- Cross platform, support Web, Android and possibly desktop clients.
Development progress is slow because I’m learning all these technologies as I work on it.
At the moment, the UI looks quite bad, I follow the philosophy “Functionalities first, polish later”. Some screenshots are below.