Week 82 - Referral Feature
Last Week’s Goals
Plumpbird: Set some harder goals this week you lazy jerk!
✅ 1. Contact 100 users
I contacted more than 100 users last week and scheduled the emails to arrive at 10 AM in whatever timezone the user was in. Sadly only four of the users replied. Some users I emailed had signed up several months ago. It might be better to email users who recently signed up.
Week 81 - Sitting on an Ants Nest
Bad News
Last week I walked from Tung Chung to Mui Wo, which is section #1 and #2 of the Lantau Trail. At the end of the trail I sat down in what turned out to be an ants nest. The ants started biting me it was pretty painful, but I got up and brushed them off. This taught me an important start-up lesson.
Do not sit on a nest of ants, but if you do, just brush them off.
Week 80 - September Sales Review
September Sales
Another month has gone by, let’s take a look at the monthly revenue graph.

Oh no, revenue went down! In August we brought in $62,596 HKD and in September we brought in $46,736 HKD. Not great news, but it’s actually okay. This is because 60% of August’s revenue came from one off work for a single customer.

The Monthly Recurring Revenue graph is looking excellent. It increased from $21,701 HKD in August to $37,481 HKD in September.
Week 79 - Translating the App
Here’s what I got up to last week.
Becoming a Xero App Partner
I had a look at building a Xero integration for Bank Statement Converter. I created an account, poked around and looked at the API documentation. It seemed like a feasible idea. Then I looked at the approval process. It seems like I would have to build a custom app for two customers, and then would be eligible to create an app store app that anyone could purchase.
Plumping MRR from $1000 to $4000 USD

Monthly Recurring Revenue (MRR) is the most important metric when running a SaaS company. You want your MRR to be as plump as possible. On February 13th MRR was at $1000. Last week MRR exceeded $4000.

What happened across the past seven months? Why did MRR increase so much in the last week?
Letting Time Pass
A big part of it was just letting time pass and steadily getting more users. Looking at the graph there’s only one spike. That being said, in the last seven months I made 503 Git commits.
When Customers Can't Succeed
I don’t know when this started, but at some point in my life some jerk has gone and renamed “Customer Support” to “Customer Success”. It’s a pretty crappy name because it doesn’t really mean anything when you read it. You have to be in the know. You have to know that “Customer Success” means “Customer Support”, which in turn means replying to messages, emails and phone calls from customers who have some problem or question.
Wave Based Security
I usually work on this app from a shared office that I’ve been renting since January 2021. The rule is, everyone is supposed to check in at the reception desk in the lobby before going up to the higher floors.
After a while I decided to skip checking in at reception. This, as you can imagine, was really great. Walk into a building, walk into the lift, go up the lift, sit down at your desk. Perfect.
The Hours of Work Behind a Simple Feature
Since I started this website in April 2021, I knew users would upload PDF files that were password protected. I figured it would be too annoying to do the work to support these PDFs so I put it off. Recently a user asked me to support password protected PDFs, so I did it.
It’s a simple feature, and it works pretty well. I spent all of yesterday working on it and pushed it into production at 2:32 AM this morning. From the small amount of data I gathered over the last few days, it looks like around 5% of users upload PDFs with passwords. Previously I would reject the upload without even displaying an error message. A lot of those users probably went away and assumed the website didn’t work.
PDF Bank Statement JSON API
Postman Collection
Download1. Get the Authorization Token
- Go to https://bankstatementconverter.com/ in Google Chrome
- Login
- Hit F12 to open up the developer tools
- Click on the “Application” tab
- On the left panel click on “Storage” -> “Local Storage” -> “https://bankstatementconverter.com/"
- You should see a key called “bsc-authToken” and a corresponding value.

- The value is the Authorization Token. Copy the value.
2. Upload PDF API
Method: POST
URL: https://api2.bankstatementconverter.com/api/v1/BankStatement
Headers: { Authorization: AUTH_TOKEN }
Body: Multipart Form Data
Request Headers

HSBC Mole Whacking Development
Last week a customer asked me to help him process a few hundred of his documents. He had PDFs for several bank accounts going back to 2018. I had a look a documents arranged a price and then got to work processing his documents. My idea was to run it through Bank Statement Converter’s (BSC) PDF to CSV processor. However a few errors occurred. BSC has a generic algorithm for detecting transaction records in a PDF file. This usually works pretty well, for many banks it works perfectly. The generic algorithm doesn’t work for a lot of statements though. To get around this, I detect the document type and then run custom code for that document.