Ivan Nikitin Ivan Nikitin home facebook linkedin rss

Thrift Box - Cross-Platform Expense Tracker

Personal project. Responsible for planning, UX, development, testing, deployment and promotion. Hired freelance designers and writers. Currently sold.

Stress-less personal finance management.

I keep my records. It is great absurdity to spend 2-3 minutes for entering expenses. You will stop doing this in a day or two. Even steady people will not be able to make it past a week. Only pro accountants can continuously use most available financial apps.

That's why I've made Thrift Box - a free, supercharged and easy-to-use expense tracker. Select a category, enter the amount... and you are done. From this moment, you'll always know where your money is going.

I was able to build an app people want to use on a couple of days during new year holidays in 2014. Take a look at the complete story on DZone: How I built a cross-platform app in 24 hours

During this project I had very limited resources, so the right choice of tools helped me a lot. Before starting the project I built a list of tools I could use to build a small but pretty cross-platform app quickly. Then I analyzed their strong and weak sides and chose a toolkit that allowed to solve the problem with the highest chance of success.

For example, I had experience working with Xamarin but you should write an almost separate app for every platform with their SDK. Given that I had almost no time, I chose to build an HTML app and pack it with Apache Cordova.

Cordova does app packaging and provides access to native APIs, but it has no UI elements you can use to build an almost native-looking app. Strongest UI toolkits are Sencha Touch, PhoneJS and jQuery Mobile.

After a head-to-head comparison I found Sencha and PhoneJS to be faster and more robust compared to jQuery Mobile. Plus, they both had much better code which is important in my opinion. Well-written and available source code reduce your dependency on SDK vendor and allows to fix problems quickly even if there is no support from the vendor.

To choose one of them is more a matter of personal preference. I didn't like JSON-based views in Sencha. HTML-defined views in PhoneJS are more expressive and more flexible. Despite all its inefficiencies.

Now I can say the choice was good. Please check the app in the stores:

App Screenshots

Market Acceptance

The app shown poor results in both local and global stores. I believe main resons of poor performnce are 1) limited functionality and 2) zero marketing budget.