How to create a tech startup

Imagine having a tool that can automatically detect JPA and Hibernate performance issues. Wouldn’t that be just awesome?

Well, Hypersistence Optimizer is that tool! And it works with Spring Boot, Spring Framework, Jakarta EE, Java EE, Quarkus, or Play Framework.

So, enjoy spending your time on the things you love rather than fixing performance issues in your production system on a Saturday night!


In this article, I’m going to tell you how you can create your own tech startup in just two months. This is based on the real-life story of how I created RevoGain.

Problems are just Opportunities

I’ve been using multiple brokers to invest in stocks, and one of them is Revolut. Revolut is a UK-based FinTech that, besides providing better currency rates and lower transfer fees than traditional banks, also supports commission-free trading.

The problem comes when you have to report your trading gains. Whenever you are selling a stock, a taxable income is realized. So, to fill in your local tax reports, you will need to know how much realized profit you’ve made.

In September, I tried to figure out how I’d do that based on the Revolut transaction statements, and, to my surprise, this is a daunting task to do. Even with the best Excel or database skills, this is a very complex process for the following reasons.

Stocks may undergo split or reverse splits. For instance, Nvidia did a 4-for-1 stock split on the 20th of July 2021. Apple and Tesla also split their stocks in 2020. A split changes the stock basis, so you need to consider it when calculating your gains.

Or, if you are a crypto fan, on Revolut you can buy crypto with USD and sell it for EUR. You can use multi-currencies when trading a single cryptocurrency, and to calculate your gains, you need to use a base currency.

And, there are dividends and taxes that you have to aggregate as well.

All in all, this is a time-consuming task that could be better solved by using a smart Software-as-a-Service web application.

Business Plan

Now that you identified the problem, you need to create a plan of how you can achieve this goal.

Having worked for 17 years in the IT industry, I have the skills to implement such a web application, and that’s great because I could save up the development costs I would have to pay someone to do.

But there’s the web design too. When it comes to Beaux-Arts, you either have the talent, or you don’t. I don’t. But, luckily, my brother, Dan, has it. While I studied Math and Physics, he went to Art school.

Knowing the costs upfront is very important when making the decision to start a new business.


Now that you know how to start your business and whom you’d work with, it’s time for branding. The name of the business should be intuitive and easy to remember.

Naming things is surely easy, right? Well, no.

After spending some time trying to find a good name, I settled for RevoGain. When deciding what name to choose, you have to check whether the domain is available, as well as the social media handlers.

After you pick the right name for your business, buy the domain and reserve the social media accounts right away.

Keep It Simple

That’s right! Always keep it simple — no need to overcomplicate things.

Every technical decision we’ve taken for this project is based on this very simple principle.

  • The project is hosted on a private GitHub repository.
  • The issue management is done using GitHub issues.
  • GitHub allows us to track the progress using milestones.
  • The web application is hosted on AWS Elastic Beanstalk because Amazon makes things very simple.
  • The web application is developed using Spring Boot and Hibernate because we know them very well.
  • We are using Amazon Aurora for MySQL because it has great performance, and it’s fully compatible with MySQL. Amazon provides automatic backups, replication, and failover.
  • The front-end is designed using plain HTML, CSS, and a tiny bit of jQuery. There’s no React, Angular, or Vue because we want to keep things very simple.

Proof of Concept

Don’t burn resources unnecessarily. Get rapid feedback and adapt quickly. Thanks to Spring Boot, I could build the prototype in less than a week.

I made the first commit on the 2nd of September:

RevoGain First Commit

And, 6 days later, I already had a prototype we could use to assert whether we could do it or not.

Once we knew this was a viable project, we could start putting effort into building it.

Work Smart and Hard

There’s no other way. You have to work hard if you want to provide a high-quality product. You need integration tests, automatic database schema migrations, monitoring, and a wonderful UI.

In 70 days, we did 304 commits:

RevoGain Commits

No matter how experienced you are, there are no quick shortcuts. If you want to build something great, you need to put effort into it.


No matter how great a product is, if no one knows about it, it will not achieve its goal.

Since I started this blog, I’ve learned a lot about marketing. I had to. Spending countless hours writing articles is useless if no one reads them. The same with my book, video courses, or Hypersistence Optimizer.

Our marketing plan is very easy. Until the end of the year, we are going to make people aware of our product on social media mostly, and from January to March, we will create an advertising budget for the right audience.

That’s it!

I'm running an online workshop on the 11th of October about High-Performance SQL.

If you enjoyed this article, I bet you are going to love my Book and Video Courses as well.

How to create a tech startup

If you are a business aficionado wondering how you could create a tech startup, rest assured. It’s not an impossible task to do. It’s also not easy.

However, no matter what the outcome of such a business is, you are about to learn a lot of things that you would never do unless you take your chance.

And, the knowledge you will acquire is invaluable. First you learn, then you earn!

Transactions and Concurrency Control eBook

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.