You are currently viewing Not Giving Up After 4 years, 30 One Time Customers And SaaS Failure

Not Giving Up After 4 years, 30 One Time Customers And SaaS Failure

TLDR: I learned from creating an arbitrage monitor (arbitrage scanner) that 

  • People want easy, 1-click money
  • There is high demand for software that might help achieve that. But such software is impossible to create. There is no easy money. In order to make money, you need to put effort into whatever software you use.
  • It’s hard to build you own product

Have you ever wondered what effort it requires to build a cryptocurrency arbitrage monitor (scanner)?

Can you make money from executing cryptocurrency arbitrage opportunities?

At the time of writing (Jan 2023) autocoin-trader.com serves 2 main functionalities:

  • Find and display arbitrage opportunities with list of steps to execute them
  • Calculates your cryptocurrency portfolio balance based on different sources: wallets, coins, exchanges

It got 30+ paid subscriptions, but almost no recurring ones. 

Before I got to this point it was a long journey full of motivation ups and downs.

I’m a highly experienced backend java+kotlin developer and started working commercially in 2007. Angular based frontend is a no-brainer to me…

And at the end of the day it seems good technical skills are not what makes a successful product/saas at all.
Ready for a journey? Let’s go

2017 Initial idea: Why not make a cryptocurrency trading bot and earn easy money?

I had a brilliant idea. Why not make a bot that will buy and sell cryptocurrencies and make money for me on autopilot? So I would just press enter and wait for money to multiply? Sounds sexy! 🙂

I would just put effort into creating and maintaining the bot, money would multiply itself.

It just needs some buy and sell strategy. I started with a really simple one. Sell when price grows 5%, buy when price falls 5%.

I did some backtesting to see how the strategy behaves with historical data. As far as I remember it had some advantages compared to just holding ETH. At least in the simulation.

When I started executing the strategy at bittrex exchange with ETH, I realized in the short term it’s losing money doing a few trades daily. I run it also with GLM (golem network) cryptocurrency and results were similar.

After a while it occurred to me that more advanced price analysis is required. I researched what technical analysis libraries there are. I started using ta4j as the most interesting one. ta4j is a technical analysis library written in java. I’ve even ported the ta4j library to kotlin, it’s on github

I spent a while implementing basic technical analysis signals. 

I soon realized creating a bot that really earns money on autopilot would require:

  • Providing a working trading strategy with set of rules
  • Or using machine learning

I’m not a trader and I don’t know trading strategies. I’m not experienced in using machine learning either.

Creating software that does the calculations and makes trades is far more attractive to me than learning technical analysis itself. I imagined people providing their own set of technical analysis signals and buying or selling based on them. Software would ‘just’ monitor the market. And when market conditions satisfy the signal rules, buy or sell.

This vision that people could run their own trading strategies made me excited.

So I stopped thinking of working on my own trading strategy and shifted towards creating an engine to run the strategies.

To sum up, I earned zero money at this point. On the other side I gained crucial experience around cryptocurrency exchanges which is:

  • Connecting to exchanges and using their APIs
  • Implementing technical analysis at a basic level which produces signals for buying/selling
  • And that was a good code base and experience for moving on to the next step

Next step: turn the bot into half automated cryptocurrency trading bot as a service

A friend of mine was trading daily and he wanted a tool that would help him manage many exchange accounts at the same time. He had a few people that trusted him and he was also doing trades on their accounts. As you can imagine, managing 10 accounts at the same time is a lot of work. And the speed of execution matters a lot. Doing that manually is time consuming. 

After speaking to him I thought automating what he does would be exciting. And it would later scale up as probably more traders need it.

So what did he need?

  • Managing many accounts from one place via API keys
  • Viewing open orders from many exchanges that he would cancel at any time
  • Simple trading strategies that he could run in parallel. E.g. sell n% of ETH every time it grows up X% and at the same time BTC is above Y Z price

I will make software as a service for one man, more people will need it for sure!

With that mindset and a few months of hard work I had a UI and backend services able to run many simple trading strategies on multiple exchange accounts at the same time. Plus all the monitoring to know the state of the system from devops perspective.

I tried to broadcast my system on reddit

People were skeptical to say the least and posts gained very little attention.

I gave up focusing on marketing. Motivation dropped down. I stopped working on the software for a few months.

2020: “I’ve put so much effort into my product and I’m not making any money from it. Should I give it up?

No money earned for such a long time, motivation drops down

After 3 years of work at https://autocoin-trader.com/ as a side project there was

  • trading automation operating at many exchanges
  • managing open orders at exchanges
  • displaying summary of exchanges balances. Kind of ugly, but working

I also added an arbitrage monitoring microservice working within my infrastructure. Source code is on github. The UI was not intuitive at the beginning.

Zero coins earned working on the project so far. I just felt tired maintaining the project and I did not want to put any effort into the project for some time.

I could either:

  1. Abandon the project and move on to some other side project
  2. Figure out how to use what I already have, make it more attractive and valuable

So I decided to give 2) a chance.

2021: Less is more – why I removed most of functionalities

Initially many features in the product

I had many functionalities in the system:

  • Trading bot
  • Showing exchange balances
  • Tracking and canceling open orders
  • Arbitrage monitor (arbitrage scanner)

And none of the above were great.

I bought a ‘from developer to founder’, Bogusz Pękalski’s course. It changed my mindset and I knew what steps to take to increase the probability of creating a SaaS.

Back then I had ~3000 users that signed up to autocoin-trader from this single video

That’s ~2h of marketing as a total effort. That’s almost zero marketing and for such a little effort, the result was huge.

The demand for an arbitrage monitor became quite obvious.

I tried to manually use some arbitrage opportunities and I found it hard to use. Spreads at 2021 were quite small. Benefit/effort ratio was too low for me.

In autocoin architecture, there is exchange-mediator which is a unified API to all exchanges. Whenever I made breaking changes in the mediator, I had to maintain functionality no one was really using – like managing open orders and trading bot.

Remove features to speed up making rest of them much better

I decided to turn off 2 functionalities and leave 2 of them only. This way it would be much easier to polish them, starting with arbitrage monitoring.

After the decision that’s what was left to be improved and maintained:

  • Trading bot
  • Showing exchange balances
  • Tracking and canceling open orders
  • Arbitrage monitor (arbitrage scanner)

Let’s focus on making ONE feature great and see what happens

Strong market demand

Using arbitrage opportunities manually has low chances of being successfully used by people. You have to compete with bots and other people.

However I could not deny there was and there still is a strong market demand.

I’ve created a video which is ~2h of marketing work. 14k views

And that resulted in 4k+ registered users

Some users fill in the form multiple times. 5268 filled registrations gave 4483 unique users. There is market demand

I decided to give it a go anyway because of a market demand.

Apart from the email list, there was already an audience I could chat with on telegram group

Email list -> telegram group

I decided to deliver what people say they want.

Anytime there was:

  • Question on a telegram asking how to use or understand the product
  • Future request

I’ve been putting everything into the backlog of improvements and bug fixes. Before going straight to the implementation I sometimes waited to see if more people wanted the same feature or improvement.

Some of the user questions and demands are in the README.md of open source part of arbitrage-monitor service.

When arbitrage-monitor was good enough shape (objectively not very good yet) I’ve splitted product into 2 plans:

  • Free plan
  • Pro plan for $10 USDT or other coin

At the beginning I’ve asked people to try the Pro plan for free to get more feedback and improve the product even more.

Within the following months arbitrage-monitor SaaS went from kind of good to much better.

Being honest about expectations

I’ve communicated clearly from the very beginning and many times on telegram that

  • there is no easy money
  • you have to put effort and time
  • Executing arbitrage opportunity has its risks
Being honest about

https://t.me/c/1189042043/2139

https://t.me/c/1189042043/2284

the execution steps for arbitrage opportunities shows the risks listed

Honest expectation shown for Pro plan payment explanation

Great experience learned the hard way

I’ve gained great experience in building a product. I’ve also learned for the second time how not to do it. It wasn’t my first attempt to build a SaaS, but that’s a different story.

Just don’t be like me. Don’t start with a product and then try to sell it.

Treat building a product like an end to end test. Figure out what’s the lazy and low effort to test it. This way you will discover the probability of success.

I’ve asked questions about new features not related to arbitrage on the telegram group. No one was answering them so I knew if I deliver, those features will not make those people excited.

I delivered some of them anyway as I’m using them, e.g. tracking wallets.

2022: It’s time to finally add the landing page 😀

5 years without landing page

I had no landing page for 5 years. And without it 4k+ people registered on the mailing list.

It worked, because people knew what to expect after watching a video on youtube and went straight to the registration form.

I’ve added a landing page because people were asking for a landing page with a summary of what the product offers.

2022 Nov: Unexpected (but not surprising) side effect of being experienced in implementing automated trading strategies – being asked to make flash crash-ready trading bot

In November 2022 I had a message from a crypto investor and later a call.

In short:

Crypto investor: “I need a trading bot that will buy as much BTC as possible in case a flash crash on binance happens. The problem is Binance does not allow to place buy limit orders with price lower than 1/ 5 of current price. It needs to reposition buy orders to really low prices as the price goes down. I need the bot as soon as possible

Me: “Sounds exciting. I can do it within a few days thx to already many pieces ready in my system

Crypto investor reached me because he knew I’ve been working on such software for a long time and I was his natural choice.

So we agreed upfront on the price plus percent of bitcoins that bot will buy (in case a flash crash  happens and bot does its job). Flash crash is a deep, short price drop. It might last a few minutes or even less. If it happens, it’s a chance to multiply bitcoins on autopilot.

I exceptionally sacrificed my healthy habits like exercising and sleeping well for some time.

After 5 days of crazy work after hours it was delivered.

As of 13/12/2022 flash crash on Binance didn’t happen yet 🙂

Key lessons learned after working hard on SaaS which which lead to no recurring customers

  • During building the product it’s crucial to have users you can easily communicate with
    • The hard work is to get the users that you will build the product for. That will allow you to find out the user needs before putting a huge amount of work up front. I saw similar articles on India hackers mentioning the same argument. And even though I already read about it I made the same mistakes. Don’t be like me
    • When you have users to communicate with, they will tell you what they want. You will just have to deliver it, without guessing what might sell
  • You’re going to have motivational ups and downs. When you love the process of creating the product, it keeps you running as it’s disconnected from the end result which might not be what you want
  • If I were to start another project from the scratch
    • I’d consider starting without MPV, with landing page only – to get users
    • Building a really low effort MVP and then landing page is a good option as well. However, due to my engineering skills and mind I’m afraid I’d focus too much on technical stuff. So personally I’d start without MVP just not to get lost in solving technical problems 
    • This way you can avoid a huge amount of work that will lead to no happy customers at the end. Plus no happy solopreneur
  • People are eager to use tools that will give them easy money
    • Cryptocurrency arbitrage, in theory, is simple money. It attracts new users easily
    • To my knowledge, there is no publicly accessible software that will bring anyone easy money
    • And if there is one advertising as such, it is likely to be a scam like a pyramid scheme
  • Don’t assume that users that signed up for X want X’
    • In my case X is tracking arbitrage opportunities, X’ is tracking cryptocurrency portfolio. Kind of similar, and users should want X’ right? (slap in the face)
    • I had ~5k users on email list and ~200 users on telegram that signed up for tracking arbitrage opportunities. It sounds like a great market channel to offer different functionalities.
    • I assumed they might be willing to track their portfolio. That’s the functionality I need so I’ve implemented it and broadcasted many times on telegram group. No responses
  • Finding the right problem to solve is crucial Articles like the one below 
  • Next time, validate your ideas better. This blog post has good steps for that

Next steps after learning from mistakes


I’ve put a huge effort into building a side project. 4 years have passed and it has no recurring customers. It was and it still really is fun to develop the project. However, it feels much better to develop something that people are willing to pay for.

At this point I have to consider what to do next. From a financial perspective I don’t need to work on any side project. Working at Atlassian as senior Java software engineer at the time of writing this blog post satisfies me financially and professionally.

However, regardless of my primary income stream, I feel a strong urge to

  • build a second income stream
  • satisfy the need of impacting people’s lives positively
    • solving their problems with my products, content or service is an answer to that

That’s buried deep inside me and I can’t fight it.

Possible next steps ideas

  1. I’ve already built a lot of software using cryptocurrency exchanges. It might be given new direction
    • Expose it as unified exchange gateway – API for other developers
    • Come back to the initial idea and improve it – half automated trading bot like greenhopper so people can run their own trading strategies
  2. Drop the niche completely and focus on something else – find better problem to solve
  3. Try freelancing. It might uncover some problems that might be addressed as a SaaS
  4. Redesign and cleanup the core functionality (exchange gateway). Make it an open source library.

What are your thoughts? Leave a comment below

Mikolaj Grzaslewicz

Performance explainer. You can hire me to help you and your developers team improve your product performance. Passionate, highly experienced java/kotlin engineer. Highlights - JVM (java/kotlin) performance - websites performance - frequent deployment - solving the right problem (are you sure microservices will help you? :-) ) - code quality impacting cost of mid/long term project maintenance
0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments