“Daddy, for the bedtime story today I want you to tell me why you have to work late during the day and weekends now” said my 5 year old daughter, cuddling in my arms with her eyes closed.
One month ago I resigned from my executive position at an IT company in Bucharest to persue a dream : do what I love – programming, do good for others – educate, have a flexible schedule and provide for my family.
For the first project project I asked myself and my wife what can we improve about our life, what do we like and what we hate. The answer came fast : I don’t have a job, christmas is coming, kids have to go to swimming, dancing, painting classes and I love machine learning.
So maybe get a research job or a Santa-for-rent job ? Or build an app…
How is an app going to solve your real life problems you may ask.
Starting to build
First, as a jobless person, I need to cut my spendings.
As we are paying using cards almost exclusively, I look at the banking statements. The information it there, but I can’t find the answer reading terminal codifications in the banking statements. I even found suspect transactions and called the bank, but they were equally unable to answer : What is that transaction called “Selimbar RO Selimbar” for 40 euros ?
Maybe the info there just needs some better layout I thought and started a piece of code to import the statement.
That was no fun, but I’m keeping this story for a later post. Just a quick note that banks have an export option but no import option for a reason : it’s almost impossible to parse the exports.
Building the magic
Now I want to get that data in a nice format to quickly find where I can do better. For that, I needed to find some categories, assign the categories to payments and run some sums and averages.
But I’m lazy and I don’t want to do that for every transaction every time, so I thought : maybe I can make the app learn from me while I categorize a few transactions.
Machine learning is the new kid on the block, and, thanks to Google, Facebook, Microsoft and others, there are a lot of building blocks to start hacking.
Right now we have a working model with an accuracy ~99.98% and it feeds on data 🙂
Building the views
Now the data has some format, we can start grouping, filtering, mapping, all the fun database guys and gals have. That’s actually pretty hard job and the challenge here was to make it as simple as possible for the user.
My wife drew some mock-ups, even automated them and I started putting colored pixels on screen.
The result looks quite good if you ask me.
Now I had the data automatically imported, automatically categorized, grouped, summed and colored for me.
But still, something is missing : I don’t know how to act on this data.
So I started reading a lot of personal finance tips, advices, articles, asked some people and finally got the idea for the missing ingredient : put what I learned inside the app so that every user can benefit.
Maybe you like the 6jars method, maybe you run a very detailed spreadsheet, maybe you use some app or just don’t do anything to manage your finances.
300+ user stories, tasks, bugs later we are almost ready to launch and we’re quite proud of what we achieved during just one month.
Of course I knew the answer for my daughter : I explained her that when you do what you love you don’t consider it work and even feel bad for enjoying it so much.
But I missed the question. She wants more family time and I’ll make it up to her sooner rather than later.
This journey is at the beginning and I can’t wait to see where it takes us.