How I launched my first SaaS project by being employed all day
Hi, Habr! I present to you the translation of Tigran Hakobyan’s How I Shipped My First SaaS Project while Working Full Time , who, working at the well-known postponed posting service Buffer, was able to launch his project and even monetize it.
This is my personal story about how I launched my first SaaS project, working 40 hours a week in Buffer. The purpose of this article is to inspire you. If you are like me, who has a full-time job, and you want to build a profitable side business as a source of income, then this story will resonate with you. In this article I want to show that I did not sweat at all or reworked and, nevertheless, I could offer a really working SaaS product.
I am a website developer and I am very lucky that besides playing football in my free time, I also enjoy coding and creating projects for fun. Most recently, I created Booknshelf , which helps many people organize their books online. Although full-time has a great influence on my growth as an engineer, I was able to acquire some of the skills of a developer by working on my personal projects.
Only last year I started thinking about creating another source of income besides my main job. The idea of having only one paycheck is a little scary. I knew that I had the skills and passion to think about something. I decided that I wanted to start a business, perhaps online, given the skills that I have. Another impetus for these thoughts was that I wanted to experience and learn how to build a business. I have never been involved in any business in my life, so I saw it as an excellent learning opportunity, a way in which I can learn skills that I do not have right now. The worst thing that can happen is that I will fail, but I will have experience.
Obviously, the first thing any developer should do is start thinking about ideas. Ideas have never been a problem for me, so I always had to identify the one that corresponds to me. This time I decided to try a different approach and really think through this appropriate idea for me before I dwell on it. There were some criteria by which I wanted to go through every idea.
The golden rule of any idea is that it must solve the problem that people face. I used to add so many ideas to my notes, so this was the reason for the return to the pile of ideas that I stocked up with.
My posts where I saved all the ideas
From the very beginning, I knew that I could probably be more successful if I created something for developers, because I know the market quite well, and most of my close friends and followers are technically savvy. I could use my contacts and audience to confirm the idea and get valuable feedback before deciding on anything. It really reduced all my ideas to a list of 2-3 things that I could work on. One of the ideas was something to which I constantly came back again and again. This was what I encountered both in the Buffer service and during the work on my previous parallel projects. A simple way to control scheduled tasks in cron. Since one of the areas I deal with in Buffer is analytics data infrastructure, I ran a dozen cron jobs in the background to collect daily analytical data for our clients. It should have been all relevant. Monitoring serviceThe datadog we use in Buffer is really great, but it was originally designed to monitor long-running services or servers. I needed a simple toolbar where I could see a list of all my tasks in cron, their statuses and journals. Every day I get a report on all running tasks, so I know that everything is going according to plan.
Having chosen this idea, I wanted to find out if there are any working solutions on the market. If there are solutions, this is a good sign that there is a demand for certain tools. In fact, there were a couple of solutions on the market with various paid plans. I didn’t necessarily want to create something completely new, because if I did, it would be much more difficult to identify and test the market. All existing solutions had paid plans, so I knew that people were willing to pay for it. The next goal was to assess the correctness of my thoughts by creating and running MVP.
I spent 2 months creating the first version of Cronhub (yes, I gave it a name). Something viable that I could send on trial a bunch of my friends and followers on Twitter. For MVP, I needed something very simple, but also quite valuable, for which people would pay. I know you might think that 2 months is a long time to create a MVP, but I did not accept the traditional “work up a sweat” approach and instead:
Since I work full time, I worked on Cronhub usually from 7 to
8:30 pm, I could also work in the mornings, but I spent most of the morning at the gym. There were several days when I felt mentally exhausted after work, and I slowed down, but most of the time I stuck to my daily schedule. I knew that if I wanted to finish this project, I had to save the charge and commit every day, even if it was a small commit (maybe even a one-line commit). Concentration has always been very helpful for me to move on. I used Trello to break down my project tasks into small stages.
My Trello Board for Cronhub
I tried to make each task so small that I could start and finish in one day. Keeping tasks small helped me launch the product faster and see my daily progress. When you see some progress, it largely motivates and supports you in your work. Maybe this is a trick on the mind? Working on big tasks slows us down and, in the end, we give up because we are bored and we want to work on something else. I never worked at night. I went to bed around 10:30 every day and woke up at 7. Proper sleep is my number one priority. He defines the mental energy that is during the day, and I cannot sacrifice it. Aside from sleep, I decided to spend most of my weekend doing something completely different, like playing football, watching movies, or chatting with friends and family. Despite the fact that I like coding, I know that it is easy to burn myself. The weekend helped me refresh my brain.
I think that as a developer you always want to use the most advanced and cool technologies. This is normal. I also want this. However, my goal was different, and I wanted to build and run Cronhub as fast as I could, based on technologies that I already knew. I concentrated on my goal and used Laravel and Vue.js. Cronhub is a one-page application that uses Laravel as a backend.
On February 20, I finished the minimum required development of Cronhub and was ready to invite the first group of users to try Cronhub. After my tweet, about 20-25 people approached me on Twitter asking for an invitation, and the feedback I received from them was very valuable.
This tweet was an invitation to closed beta testing.
There were a couple of bug reports and some great functional suggestions that I added to the feedback document. Tracking feedback from users is an important step because it helps to identify obvious patterns that you can use when making decisions about product development. In general, the first impression and feedback was encouraging. Now I had to continue improving the product and prepare it for the first public launch. I planned the first public launch within a month.
Three months later, today, I publicly launch my first SaaS project. Hooray!
Obviously, I’m nervous and don’t know whether it will work or not. However, I know that this will bring me one step closer to my goal. The goal is to make Cronhub a profitable online business, where I can learn and experience all the secrets of doing business. In the end, what else could happen? I would learn a lot!
I know, maybe I’m too focused on thinking about profitability, but after creating a couple of free by-products, I know it’s time to do something more serious. Time is the most valuable asset I have, and I want to spend it consciously. Building a paid product is the most motivating thing, and it pushes you forward. In addition, the support of free by-products is not cheap, and I know this from my own experience.
The last 3 months have been a really great time to think, and also to evaluate what worked well and what didn't. Every time I create a new project, it’s a new learning experience. Each project is unique and requires a different thinking process over the product. Being a product engineer, I want to develop an understanding of my product, and that helps.
Overall, I got a lot of lessons that really helped me get started and run the idea. I want to share with you the most important.
Thank you for reading. I hope you enjoyed this story and you received at least minimal benefit. I would like to hear from you, please feel free to comment through your questions. You can contact me on twitter or send me an email .
Continuing to launch products - Tigran.
This is my personal story about how I launched my first SaaS project, working 40 hours a week in Buffer. The purpose of this article is to inspire you. If you are like me, who has a full-time job, and you want to build a profitable side business as a source of income, then this story will resonate with you. In this article I want to show that I did not sweat at all or reworked and, nevertheless, I could offer a really working SaaS product.
Introduction
I am a website developer and I am very lucky that besides playing football in my free time, I also enjoy coding and creating projects for fun. Most recently, I created Booknshelf , which helps many people organize their books online. Although full-time has a great influence on my growth as an engineer, I was able to acquire some of the skills of a developer by working on my personal projects.
Only last year I started thinking about creating another source of income besides my main job. The idea of having only one paycheck is a little scary. I knew that I had the skills and passion to think about something. I decided that I wanted to start a business, perhaps online, given the skills that I have. Another impetus for these thoughts was that I wanted to experience and learn how to build a business. I have never been involved in any business in my life, so I saw it as an excellent learning opportunity, a way in which I can learn skills that I do not have right now. The worst thing that can happen is that I will fail, but I will have experience.
Idea
Obviously, the first thing any developer should do is start thinking about ideas. Ideas have never been a problem for me, so I always had to identify the one that corresponds to me. This time I decided to try a different approach and really think through this appropriate idea for me before I dwell on it. There were some criteria by which I wanted to go through every idea.
- I wanted to solve some real problem, perhaps the one I personally encountered.
- It should have been for a market that I know well.
- It should not be a new idea (it will not change the world)
- It could be some kind of business.
The golden rule of any idea is that it must solve the problem that people face. I used to add so many ideas to my notes, so this was the reason for the return to the pile of ideas that I stocked up with.
My posts where I saved all the ideas
From the very beginning, I knew that I could probably be more successful if I created something for developers, because I know the market quite well, and most of my close friends and followers are technically savvy. I could use my contacts and audience to confirm the idea and get valuable feedback before deciding on anything. It really reduced all my ideas to a list of 2-3 things that I could work on. One of the ideas was something to which I constantly came back again and again. This was what I encountered both in the Buffer service and during the work on my previous parallel projects. A simple way to control scheduled tasks in cron. Since one of the areas I deal with in Buffer is analytics data infrastructure, I ran a dozen cron jobs in the background to collect daily analytical data for our clients. It should have been all relevant. Monitoring serviceThe datadog we use in Buffer is really great, but it was originally designed to monitor long-running services or servers. I needed a simple toolbar where I could see a list of all my tasks in cron, their statuses and journals. Every day I get a report on all running tasks, so I know that everything is going according to plan.
Having chosen this idea, I wanted to find out if there are any working solutions on the market. If there are solutions, this is a good sign that there is a demand for certain tools. In fact, there were a couple of solutions on the market with various paid plans. I didn’t necessarily want to create something completely new, because if I did, it would be much more difficult to identify and test the market. All existing solutions had paid plans, so I knew that people were willing to pay for it. The next goal was to assess the correctness of my thoughts by creating and running MVP.
MVP
I spent 2 months creating the first version of Cronhub (yes, I gave it a name). Something viable that I could send on trial a bunch of my friends and followers on Twitter. For MVP, I needed something very simple, but also quite valuable, for which people would pay. I know you might think that 2 months is a long time to create a MVP, but I did not accept the traditional “work up a sweat” approach and instead:
- Worked only 1-2 hours every day
- Slept 8 hours every day.
- I watched Netflix whenever I wanted.
- Fully rested at the weekend.
- I used all the technical solutions with which I was comfortable.
Since I work full time, I worked on Cronhub usually from 7 to
8:30 pm, I could also work in the mornings, but I spent most of the morning at the gym. There were several days when I felt mentally exhausted after work, and I slowed down, but most of the time I stuck to my daily schedule. I knew that if I wanted to finish this project, I had to save the charge and commit every day, even if it was a small commit (maybe even a one-line commit). Concentration has always been very helpful for me to move on. I used Trello to break down my project tasks into small stages.
My Trello Board for Cronhub
I tried to make each task so small that I could start and finish in one day. Keeping tasks small helped me launch the product faster and see my daily progress. When you see some progress, it largely motivates and supports you in your work. Maybe this is a trick on the mind? Working on big tasks slows us down and, in the end, we give up because we are bored and we want to work on something else. I never worked at night. I went to bed around 10:30 every day and woke up at 7. Proper sleep is my number one priority. He defines the mental energy that is during the day, and I cannot sacrifice it. Aside from sleep, I decided to spend most of my weekend doing something completely different, like playing football, watching movies, or chatting with friends and family. Despite the fact that I like coding, I know that it is easy to burn myself. The weekend helped me refresh my brain.
I think that as a developer you always want to use the most advanced and cool technologies. This is normal. I also want this. However, my goal was different, and I wanted to build and run Cronhub as fast as I could, based on technologies that I already knew. I concentrated on my goal and used Laravel and Vue.js. Cronhub is a one-page application that uses Laravel as a backend.
Closed beta launch
On February 20, I finished the minimum required development of Cronhub and was ready to invite the first group of users to try Cronhub. After my tweet, about 20-25 people approached me on Twitter asking for an invitation, and the feedback I received from them was very valuable.
This tweet was an invitation to closed beta testing.
There were a couple of bug reports and some great functional suggestions that I added to the feedback document. Tracking feedback from users is an important step because it helps to identify obvious patterns that you can use when making decisions about product development. In general, the first impression and feedback was encouraging. Now I had to continue improving the product and prepare it for the first public launch. I planned the first public launch within a month.
Public launch
Three months later, today, I publicly launch my first SaaS project. Hooray!
Obviously, I’m nervous and don’t know whether it will work or not. However, I know that this will bring me one step closer to my goal. The goal is to make Cronhub a profitable online business, where I can learn and experience all the secrets of doing business. In the end, what else could happen? I would learn a lot!
I know, maybe I’m too focused on thinking about profitability, but after creating a couple of free by-products, I know it’s time to do something more serious. Time is the most valuable asset I have, and I want to spend it consciously. Building a paid product is the most motivating thing, and it pushes you forward. In addition, the support of free by-products is not cheap, and I know this from my own experience.
Lessons learned
The last 3 months have been a really great time to think, and also to evaluate what worked well and what didn't. Every time I create a new project, it’s a new learning experience. Each project is unique and requires a different thinking process over the product. Being a product engineer, I want to develop an understanding of my product, and that helps.
Overall, I got a lot of lessons that really helped me get started and run the idea. I want to share with you the most important.
- Solve the problem that you personally encounter. This is so important, because essentially you are building a product for yourself, always remember that. This greatly facilitates product decisions. You know which questions you should ask, and the chances are higher when you ask the right questions.
- Reduce your tasks. When you break your project into pieces, try to make them smaller. A good way to measure the size of a task is to ask yourself: “Can I complete this task in a day?”. If the answer is “No,” then this is probably a big task, and you can break it further.
- Sleep well and rest. I can not emphasize how important correct sleep. You do not need to work at night. Focus on gradual progress and small daily achievements. If you do not take care of yourself, you will soon get tired and eventually give up.
- Choose a market that you know well. I am a developer, and I know this market well. I know what it takes to be a developer and how development teams work together. This gives me an idea of what will and will not work in this market. Of course, I still can make mistakes, but the chances of making mistakes are much less.
- Tell us about your project. This is a difficult task for me, and I still adapt to it. I do not really like talking about myself. I like to listen more. It is not easy for me to talk about a project that I create, because I am a little shy and do not want to create the impression that I am constantly talking about myself. However, I know that I need to talk and sell my project. This is how others find out about my product. This article is an example of this.
Finally
Thank you for reading. I hope you enjoyed this story and you received at least minimal benefit. I would like to hear from you, please feel free to comment through your questions. You can contact me on twitter or send me an email .
Continuing to launch products - Tigran.