How to Start a Business

Why My App Didn’t Make Money Initially and What I Learned [Journey in Coding] #3

Angus Cheng
May 31, 2024

Previous Post|From Concept to Launch: The Birth of Bank Statement Converter [Journey in Coding] #2

May 2021, First Paying Customer

It took me until May 7th 2021 to get the app ready to start processing payments. I met up with a friend called Koushal for lunch. At lunch I told him,

“The app is ready to start making money, how much do you think it’ll make in the first seven days?”

Koushal, I can read your mind.

I can’t remember what he said, but I could tell he was thinking “It ain’t going to make any money Angus”. Sometimes I can read people’s minds, especially when the mind is owned by a person like Koushal. Koushal is a simple man, he likes going to the gym and he likes reading about exotic fish.

For the next few days I improved the algorithm, fixed bugs and tried to hire someone to help me with marketing tasks. I spent a ton of time checking dashboards to see if anyone was buying the app. Every day I would wake up and see that no one had bought the app.

Once again, I was not succeeding as an entrepreneur.

Back in January 2014, I created an app called Girlfriend Plus. Within hours of releasing a build that allowed users to pay for content, someone did. I was expecting the same thing to happen with Bank Statement Converter, but it did not.

First Customer : Thursday May 13 2021

I woke up, and saw no one had bought the app. There was a lot of work to do, but I wasn’t in the mood to do it. I decided to go to Sai Kung and walk Maclehose Stage 3 backwards. My starting point is a place called Shui Long Wo. Soon after getting there I received an email.

At first I didn’t know what this guy was talking about. Then I realised he has paid for credits, and is running into some sort of an error.

Damn. If I were at home I would be able to deal with this. I messaged Dom and tried to debug the problem with him. We can’t figure it out. After a while I decide to just look at it when I get home.

I met a cow on the way. Pretty exciting.

The hike went pretty well. I got home very tired and somehow figured out how to fix the issue Rick had.

Generic Algorithm?

Sometime in this month Dom implemented a pretty cool feature. When a document fails to convert properly, he lets the users click a button to send us an email telling us about it. We get a lot of these emails. I look through the PDFs. I can’t figure out an algorithm that works for all these different formats.

The people at YCombinator like to say “Do things that don’t scale”. They have their reasons for saying this and it makes sense to me.

Along that line of thinking, I started thinking about creating specific parsers for specific banks and then providing users with links to convert their documents using a specific parser. The flow might go something like this.

  1. User uploads a Bank of China statement.
  2. It does not convert properly.
  3. User reports the error. Dom and I get an email.
  4. We write a BankOfChinaParser and redeploy the application.
  5. We reply to the user’s email with a magic link that specifies to convert a document using the BankOfChinaParser.

I never actually implemented something like this, because I came up with a much better idea a little bit later.

Dom Leaves

At this point Dom has resigned from the crypto exchange, but he has a few months left to work there. He doesn’t seem very interested in working on Bank Statement Converter. So I send him this email:

Dom replies that he’d like to drop out, but says he doesn’t need to be bought out. That’s very nice of him, and I make a mental note that I owe Dom for the work he did on Bank Statement Converter.

In a way this makes my life a little bit easier, I don’t have to discuss what to work on with anyone. However it does make me think,

“If Dom doesn’t want to work on this, does that mean it sucks?”

End of Month Numbers

Post article|A Cool Idea and Costly Lessons: The Rollercoaster Ride of My App Development [Journey in Coding] #4

Written by Angus Cheng (Link)


Active Here: 0
Be the first to leave a comment.
Someone is typing
No Name
4 years ago
This is the actual comment. It's can be long or short. And must contain only text information.
Your comment will appear once approved by a moderator.
No Name
2 years ago
This is the actual comment. It's can be long or short. And must contain only what if text information.
Load More
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Load More


Angus Cheng
Founder of