An engineer who made over 2 million yen from a side project in addition to his main job talks about the pros and cons



Python consultant Sebastian Witowski shares in a blog post his experience of making over $20,000 from a side project outside of his day job.

I've Built My First Successful Side Project, and I Hate It

https://switowski.com/blog/i-have-built-my-first-successful-side-project-and-i-hate-it/

Witowski began his career as a software engineer at the European Organization for Nuclear Research (CERN), where he helped build the CERN Document Server, a digital library of publications created by CERN. He then became an independent Python consultant, and at the time of writing, he works primarily in the financial and energy trading industries.

Witowski started his first side project in the second half of 2020. For his first side project, he spent several months creating a course to learn Python , then created a day trading script that uses harmonic patterns to determine when to buy and sell stocks.

At the time, Witowski was using TradingView as a day trading tool, but since there was no script to draw harmonic patterns, he started developing one to automate the process, which he says significantly reduced the time it took him to find stocks to trade.

Witowski decided to sell the harmonic pattern generation script that can be used on TradingView. Since TradingView also supports the sale of third-party scripts, he started selling the script via the payment service Gumroad .

Witowski distributed a limited version of the script for free to those who were considering purchasing the script. Although the free version of the script had limitations such as 'only being able to find a few types of price formations,' 'limited number of past days that can be checked,' and 'no automatic notification even when new patterns appear,' some users started using it. And it seems that he recommended the paid version of the script only when users asked if there was a script without limitations. In addition, he has also opened a YouTube channel to promote the script.

Nothing happened for the first two weeks after the release, but little by little, sales began to come in. At one point, sales were up to $1,000 a month. 'It was the first time in my life that I was selling something I made on the Internet and getting paid for it. It felt so good,' Witowski wrote.



As the number of users increased, Witowski started a campaign to offer a one-week free trial of the paid version to users who left a comment. This resulted in a huge increase in comments from users. Every time a comment was posted, Witowski manually gifted the user a one-week free trial. Although some users started using the paid version after this free trial, most of them ended up not using the paid version.

As the number of users increases, so do the number of inquiries, such as questions and requests for new features. Most of the inquiries by email are requests for access to the free version, but some people also offer to purchase the source code of the scripts.



In addition, there were also requests for features that provide tips on buying and selling foreign exchange and cryptocurrencies other than stocks. These inquiries sometimes come with a backstory, such as 'I'm a poor student and I want to make money' or 'I lost some money on trading, but your script is so cool that I'm going to use it to get my money back.'

'Why would anyone bet money on a random tool they don't understand? And then ask strangers on the internet for financial advice? That's sad. I built it for people who know what harmonic patterns are. This is a script for people who have an investment strategy and just want a tool to automate the drawing of charts that they normally draw by hand. It's not for people whose investment strategy is, 'This script I found five minutes ago says this stock is going to go up, so I'm going to buy it.''

Witowski cited refund issues as a hassle in selling scripts. He said he responded to requests for refunds as much as possible for reasons such as 'I forgot to cancel my subscription' or 'I realized the script was useless even after the 14-day refund guarantee period had passed,' but he also encountered requests for refunds for problems that Witowski could not do anything about due to a lack of verification of the identity of the person. He also encountered a scam in which someone tried to buy Witowski's scripts with a stolen credit card and then refund the money to their own bank account. He said dealing with these kinds of trivial matters gradually wore him down.

These chores were 'a bit of a nuisance' when he had free time at his main job, but as his main job got busier, he had to deal with them after working all day, and 'he got burned out,' Witowski wrote. As his main job got busier, he stopped day trading altogether, and 'the scripts that he had originally created for himself, he stopped using them in the first place.'

Below is a graph of Witowski's script sales over time. 539 people bought the script, and the total sales were more than $15,000 (about 2.2 million yen). Despite all this sales, Witowski wanted to let the project go. Still, he wrote, '$200 (about 29,000 yen) per month for almost nothing is a great passive income.'



Witowski said he learned this from his side projects: 'The scary thing most programmers learn the hard way is that releasing a product is just the beginning. Once a product is out there, you have to do maintenance: fix bugs, implement new features, deal with disputes and scams, and answer to tons of emails (often from curious window shoppers who never become paying customers). This maintenance is easier if you have a lot of products and support is handled centrally. It's also easier if your project can replace your full-time job and maintenance is your only day job. However, doing this kind of maintenance work in parallel with your day job will waste a lot of time. If you don't set some kind of limit, working on your side project will take up all of your available time. Working on a side project is a great way to show that you are one of the users of the project and that you really want to keep improving it. If you think that you can do it, it's much more enjoyable. If you love the project, it's incredibly smooth and the prospect of working on it full-time seems like a dream job. On the other hand, if you're no longer interested in maintaining the project but still have existing customers to satisfy, it becomes much more difficult to support the project. If your side project is not something you truly enjoy and you have other priorities, it's important to set boundaries. I decided to focus support only on paying customers. I also stopped adding new features and told myself that I would not touch the code unless it broke. I have a list of things I want to improve someday, but I deleted that list. Of course, you can add new features to attract new customers. But that means that while it's an opportunity to attract new customers, it also means that you will have to do more coding and maintenance.

in Note, Posted by logu_ii