How We Solved Our Own Problem and Brought the Solution to the Market
Hello! What's your background, and what are you working on?
G'Day! I'm Michael, a founder from down under (Australia). I used to run a more traditional (slow growth) business until I sold up and started using my learnings to build faster growth businesses. For the past seven-ish years I've been working with a co-founder (my oldest friend in life) to create companies that are fun and exciting to build.
Together we have a couple that are a bit more serious called LeadChat and PoweredLocal. Like many indie hackers, we kicked off a few side hustles that were born out of roadblocks we ran into while chasing success. We realized that no one else was solving them, at least in a way that made sense to us, so we gave it a shot.
Bankfeeds.io solves the tear-your-hair-out limitation of turning all successful Stripe transactions (sales, fees, refunds, transfers, etc) into a feed that resembles a bank account in Xero.com — similar how you see "real" bank accounts and Yodlee feeds.
It's a simple low fee SaaS that's currently bringing in around $1,800 USD a month with a split of free (low use) and paid users.
What motivated you to get started with bankfeeds?
We were working on a sizable eCommerce business and using both Stripe and Paypal as payment options. We had a feed of PayPal as a bank account in Xero, but the reconciliation of Stripe sales was an absolute nightmare.
We were processing around 2,000 orders a day, in a foreign currency. So we had 2,000 sales, 2,000 fees, one bank transfer, and a handful of refunds everyday — but all we ever saw in Xero was a batch bulk amount hitting our bank account each day. To make things worse, that lump sum was from (at the time) seven days earlier, had fees that included a deductible tax, and had some sales that included a tax and others that did not. We had no real way of reconciling it, which created a huge problem. After each lump sum deposit, we ran one big accounting rule and then spent a few hours every three months doing exports, imports, splitting, summing, and more. You get the idea.
I remember Googling for solutions in December 2014 and finding nothing. At this point, I decided that we needed to build a solution, but didn't act on it. In January or February 2015 I actually came across a solution. It was okay. I think I must have been one of their first 10 users and was probably their largest transacting customer by a significant magnitude.
But there was something that bugged me. There was no real way to make a true bank feed with statement lines via the API. So this app used (presumably) a bot to login to Xero and upload data. It broke all the time, any small UX update from Xero would break it. But it was the security risk that bothered me the most. They were storing full access to all these Xero accounts in one user. But it did work and reduced a few hours down to about two hours a month (it still needed allocations and bug checking).
So I sat on my idea for a year. Until I stumbled upon a Github repo of someone who had the same problems and had built a tool to solve it for themselves. I reached out to him and suggested that we build it out and commercialize it. I promised to be the first five customers, as we had that many businesses and side-hustles at the time, and could rigorously test it with our transaction volume.
The first thing we did as co-founders was build a pre-sales landing page to gauge interest. We tied it to discount year-up-front plan for when we launched. From this, we generated around 30 sign-ups that sent some money to the bank.
Validation.
What went into building the initial product?
I like to think I have reasonably good skill at understanding user flow and sensible UX. Luckily, I am also familiar with Xero.com and Stripe.com, and generally know what a business looks like when it is dealing with thousands of transactions a day.
I drew up a technical wire-frame — the flow of what happens when someone clicks that sign-up button, from the user's perspective. One of our awesome founders, who was in charge of development, was great at connecting the dots and envisioning the thousands of nuances of how everything needs to work in order to build the framework.
Everyone was remote, so we managed the whole thing (and still do) with Trello. We only spent a few dollars here and there on domains and themes, well under $1k to kick it all off.
We do have something, though, which should not be taken for granted: pre-existing businesses with frameworks and experience. It is easier for us to spin things up, register, assign, etc., as we have had years of experience. It took the developer about about two months of part-time work to get from ground zero to a product ready for Xero to approve with their API.
This is where things got stuck. I'm a big fan of Xero, but the "Developer Evangelist" that was there at the time was a real piece of work. So, at least back then, the way it worked was you submitted a whole bunch of technical and general details to Xero, and they gave you a developer API to build on. Once built, you had to provide the developer evangelists with access to login, look at the app, and approve you for the production API. Basically, check that what you built was in line with what you said you were going to develop.
We knew this was a 10-minute job, at most. We spent three months trying to get this guy — who kept saying he was too busy to look at it — to log in to the demo account and give it a once over. Eventually, we decided to leverage a business relationship we had knew we had in common. We had a recruiter we were using in another business reach out to the developer evangelist because we knew he already had a professional relationship with him. About 15 minutes after they made contact, our app was approved.
This whole experience was pretty deflating. After the initial excitement of creation, initiation, and magnificent development, we had slogged through a three month period where we thought we'd all just wasted our time since one single person at a large company was playing gatekeeper, and was using his ego to control our fate.
How have you attracted users and grown bankfeeds?
Forums, posts, and some targeted emails. Then nothing… just SEO.
I think because it's a relatively small side-hustle we have not done all that much. We should, but have not. We know that we solve a huge problem, which means that people naturally search for our solution.
We did try some targeted outbound email to accountants a while back. Humorously, we emailed an ex-accountant of ours from New Zealand who had started working at Xero. Not realizing the connection, they reported us to Xero as spam. A Xero rep put us through the ringer, threatened to shut us down, etc. He demanded we give them lists of every sign-up and contact record we had. It was sort of mind boggling. Again, a time for us to ask what the hell was going on with the world and whether this was really worth it. We told him we were not willing to breach the privacy of our users and sign-ups, and were somewhat shocked at his attitude and demands.
This guy took a report to his manager in order to get us shut down. Luckily for us, cooler heads prevailed. His manager reached out, congratulated us for our success, and asked the Xero rep to do everything in his power to support us.
We were shocked, but hey — finally, we found a champion.
We ended up getting invitations to Xerocon and offers of promotion assistance from Xero. It turned out that this senior manager was focussed on the business goals, and recognized that we had solve a big feature request for Xero and Stripe users in an intelligent way, which was proven by the active user base we had established on our application.
It was a breath of fresh air to finally come across someone who was a critical thinker, someone that understood the goals of the division — to improve the product with third party app partners — and was not merely a "no" person or a power hungry evangelist.
Hope I don't get in trouble for writing the above!
What's your business model, and how have you grown your revenue?
We aim for very low-touch.
From our own experience, we know some fundamental truths:
- Everyone wants to know what it costs.
- The best way to explain the product is a free trial.
- Very few people will put their credit card in for a free trial, so don't ask for it.
- The server and storage load is largely irrelevant if you are a customer of 100 transactions or 10,000 a month, so flat pricing is sensible.
With this in mind, we built in a free trial for a user's first 100 transactions, which can last an hour or years depending on the user. The first thing you do is sign-up at app.bankfeeds.io/signup. You then get taken through the steps to connect to Stripe and Xero, setup your default settings, and then ideally never log in to our application ever again (except to upgrade from free to paid).
There was one killer feature we built that has the greatest impact on revenue: a tool to import historical data.
When we launched, we had a bunch of support requests for importing historical data, so we built a tool to meet the need. What this meant, though, was that those first free 100 transactions get used very quickly as historical transactions counted towards that total, and a user typically upgrades to the paid version.
Around 30% of paying customers go from trial to paid in two hours. Another 60% do it over the next two months.
Here are a couple quick screenshots from slack where we track sales — you can see how fast they go from signing up for a free trial to paying us actual money.
What are your goals for the future?
The aim is to reduce human contact hours, and to build a tool that the user needs only to log in to once in order to connect it everything. The dream is a zero-touch side hustle, or as close to that as we can get.
Consequently, I prioritize automation — we use tools to automate notifications as much as we can. If someone emails into support, it means we have failed to communicate something, or are lacking an important feature.
We're continually tracking feature requests. Once we see enough requests for a feature, we push it into the pipeline.
What are the biggest challenges you've faced and obstacles you've overcome?
I've mentioned them earlier, but it was telling how difficult it was to work with Xero. I think it speaks to the adage of not building on someone else's platform.
While other pre-existing platforms are challenging to avoid these days, it's crucial to consider that someone else wields an axe that can cut you down at any moment, for any reason, or none at all. Stripe has a much better process for evaluating and working with developers, and I think that Indie Hackers is a perfect example of this relationship.
I suspect there are necessary and important conversations here around the significance of the developer and partner community, or that there is at least an understanding that developers are a core component of expansion and growth, whereas some other businesses are not built with a developer-first ethos in mind.
Unless I knew someone senior in Xero, I would never build an app on their platform again.
Have you found anything particularly helpful or advantageous?
The problem I was solving was my problem.
I have (and had) a company running thousands of transactions a day, and used Stripe and Xero. I was in the perfect position to build the bankfeeds.io product because I had a deep knowledge of not just the problem, but also the solution I was working towards.
You need to understand the problem if you want to understand what the market needs.
What's your advice for indie hackers who are just starting out?
If there are developer overlords that can pull your app at any moment, then really consider what you are getting yourself into. If that's the road you're looking down, it might be wise to invest more time and money into befriending the Evangelists than building your product.
Otherwise, look at companies like Stripe, Github, Zapier, Heroku, Twilio, Atlassian and others of this same developer-first mentality. They are more likely to understand and respect third party developers and applications, as they understand that their user base grows because of this.
Once you have your idea, validate it. Get some people to pay before you have the product. Once you have one person (besides yourself), you know there is a need. Once you have a few, you know there is a market.
Where can we go to learn more?
You can find me on @michaeljankie or email me on michael at bankfeeds dot io.
Want to know more about the product? Check it out for free at bankfeeds.io. If you do sign-up and hit the paid tier, hit me up once you hit your first month and I'll add a couple of months free after that, just mention this post.
—
Michael J
, Founder of Bankfeeds.io
Want to build your own business like Bankfeeds.io?
You should join the Indie Hackers community! 🤗
We're a few thousand founders helping each other build profitable businesses and side projects. Come share what you're working on and get feedback from your peers.
Not ready to get started on your product yet? No problem. The community is a great place to meet people, learn, and get your feet wet. Feel free to just browse!
—
Courtland Allen
, Indie Hackers founder