This is a short blog post to transparently share all Cronhub numbers for the last 30 days[April 20, 2018 – May 20, 2018]. It has been exactly 2 months since I’ve officially launched Cronhub on Product Hunt. In the last two months, I’ve learned a lot about what it takes to build a side-business and I’ve pledged myself to always be open about it and share all my learnings. I’ve already shared the first-month report on Indie Hackers and the reaction from all of you was incredible. I know these reports inspire many indie hackers to start their own projects and as long as it’s useful I’ll continue writing my monthly reports and share my learnings and the challenges I face.
Now let’s get to the main topic where I share the metrics that I believe are important for any online side-business.
The main accomplishments
Cronhub has become profitable
Last month Cronhub hit the first milestone that I’ve set for myself from the day of the launch. My side-project is now a profitable side-business. This means that monthly recurring revenue covers the cost of all the monthly expenses that are required to maintain Cronhub.
Launched“Business” plan I’ve launched the“Business”($49/m) plan with team members support. This means that I can start targeting businesses and developer teams so they can collaborate on Cronhub to monitor their cron jobs. Along with this plan, I’ve launched the“Startup”($19/m) plan for small teams and startups.
First“Business” customer One of my “Developer” plan customers converted to“Business”. Now with the team member support, his team can collaborate on a shared dashboard and monitor more cron jobs.
First yearly customer I’ve changed the pricing this month and before making the change Cronhub had only 2 plans,“Free” and“Developer”($7/m). Last month, I had the first customer upgrading to the yearly plan and it was a such a great feeling to receive that Stripe notification.
Awareness and acquisition(~5200 sessions)
In the last month, my primary goal was to launch“Business” plan with team members support so I’ve dedicated the most of my time on building this feature. I knew that the number of visitors was going to stay the same or decline because I didn’t write any articles or made an extra effort to market Cronhub. However, the next month I’ll pause a big feature development and instead focus on marketing my product as well as talking to my current users and customers.
Here is the GA chart that shows the sessions over the last month.
I’ve aggregated all the visitors by the top channels.
The number of the visitors declined compared to the previous month because last month the majority of the visitors came from the PH launch. However, there is one metric that I’m very happy and a little bit proud of, it’s“Organic Search”. It’s growing quite well compared to the previous month and I expect this number go up in the next months as long as I continue writing.
I’ve not done any SEO hacks or anything jut writing articles about Cronhub and sharing on different publishing platforms. I also have a blog where I cross-publish my articles. For instance, this article has a canonical URL to a blog post published on my blog. it’s really great that IH allows setting a canonical URL to an article. This means that all the SEO benefits from this article go to my domain blog which promotes the credibility of my domain.
Cronhub has 650 signed up users and in the last past month, I’ve added only 150 new users. I’m not very proud of this number but as I’ve mentioned in my last report I never expect this number to be very high. Cronhub is a very niche product and I think for niche products having a high number of signups is very rare or at least in the beginning. I’m working to improve the number of sign-ups by bringing more visitors and I’ll talk more about in my future blog posts.
Currently, there are 217 active monitors on Cronhub. A monitor is active if it has received at least one ping. All these monitors have sent around 5300 notification through various notification channels(Email, Slack, and SMS).
Revenue($67 MRR and 4 customers)
Cronhub has 4 paying customers and the monthly recurring revenue is $67.43. This revenue covers all my expenses and it’s already great! Of course, this is only the beginning and I’ve set new goals to achieve. I have a full-time job at Buffer so I’m totally okay to have a very slow but incremental growth. As long as the numbers grow and Cronhub keeps providing value to my customers I don’t really care how fast it grows. I’m sure it would have been different if I didn’t love my current job at Buffer. I see Cronhub as a side-business and I have no plans to quit my current job as of now.
All my current expenses haven’t changed and it sums up to $57. I’ll try to keep it low and here is the breakdown of the services I use for Cronhub.
The biggest challenge for me is acquiring more customers. I don’t do any sales or cold emails and I solely rely on my marketing efforts. I should probably start thinking about adding different tunnels for my free users to upgrade as well. Focusing on my current free users is key and can be a great strategy to bring more customers. I’m still figuring this out.
There are also some questions I keep asking myself over and over again:
Who are my ideal customers?
How can I find them?
Does my product justifies the cost of the value it provides? If no, how can I improve the product? What am I missing?
For the next month, I have two main goals along with some minor product improvements. The first goal is to publish the article that I’ve drafted about side-project pricing. I know there aren’t many articles about how to price a side-project so I’ve decided to write one even though I’m not an expert at all(Follow me on twitter if you want to know when I publish it). The next goal is to start working on a new Cronhub feature which will allow users to monitor the“processing time” of cron jobs and set alerts on top of it.
This is a short blog post to transparently share Cronhub’s metrics in the first month after the launch. I’ve launched Cronhub on March 20, 2018 on Product Hunt and the reaction of people were mostly positive. Every month I’m planning to write a quick report and share it with everyone. My plan is to build Cronhub openly and I’ve already shared two personal Indie Hacker articles on Cronhub in the past month. With these articles and report, I want to provide insights on what it takes to build a profitable side-business from scratch. I also felt that it inspired a lot of indie developers to start their own projects and be more open what they work on.
This is my first report so please take this with a pinch of salt. There might be some metrics I’ve completely missed so please add the metric you would like to see in the comments below.
Now let’s get to the metrics for March 20, 2018 – April 20, 2018.
Awareness & Acquisition (10,807 sessions)
These marketing metrics measure the reach to the potential customers and how they convert to visitors. Each visitor to Cronhub site is a session. I primarily use content marketing to expand awareness of Cronhub and acquire new visitors who I think may turn to potential customers. My market is developers. In the past month, I’ve written two Indie Hackers articles and republished them on a Medium publication. I’ve also launched Cronhub on Product Hunt which brought a lot of visitors to the site.
The reason why referral has the biggest chunk of the pie is the PH launch which brought almost 30% of all traffic in the last month. After the launch the direct and organic search traffic started to take off which is promising.
If we break down the referral traffic we can see that publishing my articles on Indie Hackers and republishing them on Medium wasn’t a bad idea. It drove a good amount of visitors to the site. I should also keep using Twitter to provide updates and promote Cronhub.
Activation (500 sign ups)
This product metric measures how many of the visitors acquired by marketing channels sign up for the product. Cronhub has 500 signed up users. As I said in the past Cronhub is a very niche product so I never expect this number to be very high. However, I want quality users who will actively use Cronhub and get a value from it and eventually turn to customers.
Active Monitors (145)
Currently, there are 145 active monitors on Cronhub. A monitor is active if it has received at least one ping. These active monitors have sent around 2600 notifications so far through different notification channels.
Cronhub has 3 paying customers on the“Developer” $7 plan. Current MRR is $20.
Digital Ocean to host Cronhub site as well as the blog. I’m planning to move Cronhub to Kubernetes soon so I think that will also save the hosting costs. – $19
Laravel Forge makes it easy to host Laravel Applications. Once I’m on Kubernetes I won’t need Forge. – $19
I think I should work on the better onboarding process for new users. Most users sign up but they don’t integrate their cronjobs with Cronhub monitors. I should make the integration part seamless. I’m working on this.
I’m working on a new Business/Team plan that will allow teams to use Cronhub. I may also adjust the pricing model of Cronhub. However, I know it may take couple iterations until I get it right.
If you’re a developer or part of a developer team that uses cronjobs you can try Cronhub for free. Use coupon “indiehackers” to get 20% discount if you upgrade to “Developer” plan.
Two weeks after the launch I have 1 paid user, about 450 sign-ups and 125 active cronjob monitors on Cronhub. I consider the monitor active if it has at least one ping. My MRR is $7 and I currently spend around $40 per month to cover all Cronhub expenses. I expect the expense number to grow a little bit in the future.
Now, that we know where I stand I’ll go ahead and share what comes next for Cronhub and how I plan to acquire more paid users in the next 100 days.
What’s my goal?
My goal is to find a product market fit. What does it mean to me? It means to acquire at least 10 paid customers on “Developer” plan and one customer on the “Team” plan (I’ll be launching the team plan next month). These numbers are random but also important. The reason I’m so focused on these numbers is that I believe nothing endorses the value of the product more than paid users. If I have 10-15 paid customers I can tell myself that I’ve found or I’m very close to product-market fit.
With my goal and these numbers, I want to measure the success of the decisions I make around Cronhub. My product decision domain is very broad and it’s not tied only to what features I should build next. I also ask myself how I should market Cronhub or who my ideal customer is. If you ask me now I won’t know the exact answer. Individual engineers and the engineering teams? Probably, but I have to be certain. I want to eventually find the niche market that Cronhub belongs to.
If you’re an engineer like me you know that building is most likely the easiest part and what comes next is the hardest. I’m so pumped to challenge myself, though.
Now that I have set my goal I want to talk about the steps I’ll take to achieve it. Of course, as any other goal, it’s possible that I won’t achieve it. However, what drives me is really the process of getting there. During the next 100 days, I’ll learn important lessons from all of the good and bad decisions I make and I promised myself I’d write them down in my decision journal. Decision journal helps me to reflect on my decisions so I can become a better decision maker in the future.
I’m a product engineer and this step is probably the one I’m most qualified for. Spending time to build new features or even fixing bugs is the most fun activity compared to other things I have to do. However, I know it’s a myth that if you build it people will come. I don’t believe in that. Most engineers tend to measure their productivity based on how much they ship. I’m afraid I’m not an exception here, however, I try to change the way how I think about my productivity. It doesn’t always have to be materialistic. Sometimes the time you spend to think about a particular product feature is the most well-spent time.
Before jumping to the code to build a new feature I try to spend enough time to answer the following questions.
Is this feature really needed?
If the answer is yes then I ask another question. Is this the most important thing I should be working/building right now?
Usually, these two questions are enough to decide whether this feature will make it or not. Prioritizing and time management are likely the most important skills for solo-developers. As a single founder or maker, we don’t have too many resources to rely on so we do everything by ourselves. That’s where the time and prioritizing come to play.
Most of the Cronhub product ideas come from the user feedback as well as my own intuition. It’s a mix of these two. For user feedback, I have a dedicated Dropbox Paperwhere I collect all the Cronhub feedback I’ve received from different people and users. This is how I’ve organized it so far.
I keep most of my ideas in the Trello Backlog column and then prioritize them into product cycles. At Buffer, we use 6-week product cycles and I find them very valuable. As a team, we get a lot of things done within 6 weeks. I’ve decided to do something very similar with Cronhub as well. The difference is that my cycles are a month long and I have one week in between cycles to prioritize the most important tasks for the next cycle.
If a single feature request comes up many times it gets higher attention from me. For instance, “Webhook Integration” was one of them and I shipped it yesterday. Every feature is broken down into very small tasks. If I need to spend more than a day on a single task then this task is not small enough. Keeping my tasks smaller has been key to see a continuous progress.
For the next 100 days, I plan to finish 3 product cycles. I hope after 3 months the improvements on Cronhub will be very visible. What features do I have in mind for the next 3 cycles?
I want to launch the new “Team” plan. It will be $49 per month and it will include unlimited team members with up to 100 monitors. I can start targeting teams too when I have this plan available. This plan will most likely have a “Free Trial”. I know my ideal customers are teams and not individual developers. Also, I think selling a product to businesses is a lot easier than to individual consumers.
I want to improve the weekly report I send to all Cronhub users. Weekly reports are super important and I want to make it more valuable to my users.
Product improvements and better documentation. As a developer, I really appreciate the importance of a well-documented product. I envision Cronhub docs to also include educational materials.
I think all these will keep me busy for the next couple months considering that I also have a full-time job that I love!
I know I have to market Cronhub no questions asked. However, I’m not sure how I should market it and what the best marketing strategy is for Cronhub. I’ve read Gabriel Weinberg’s “The 19 Channels You Can Use to Get Traction” article (which is great btw) and it helped me to find a temporary answer.
I want to focus on the marketing channel I personally enjoy and my working competitors dismiss.
I think that would be content marketing. None of my competitors are focused on content marketing and I personally enjoy writing articles and educational materials. After all, I come from a family of teachers.
But first, I have to define what content marketing means for Cronhub. Most of my users are developers so I roughly know that my target audiences are developers and developer teams. I should write content that acquires more developer visitors. I’ve created the following flow to better visualize my marketing strategy.
My marketing goal is to bring visitors that are more likely to convert to paid customers. Since I don’t know who exactly those potential customers are I want to bring more visitors so I can put the conversions into buckets by visitor types. This way I can differentiate the type of visitors that convert and that will probably be my niche target audience.
When I have a better idea of my target audience I can research to find out what really interests them. I’ll write blogs posts and educational articles on the topics that interest them.
But for now, I’m going to focus on the broad developer market and write content for that audience. This article is part of that strategy. Since I’m a developer it’s not hard for me to guess what type of content will attract other developers. Building a product for the market that you’re part of is really invaluable. I built Cronhub to scratch my own itch and because I believed that there have to be other developers facing the same problem. I hope I’m right.
Another reason why I think content marketing is a better fit for Cronhub is that I strongly believe that investing in a quality content now will pay off in the long run especially for SEO. I’ll probably write a different article just about SEO but in a nutshell, I’m planning to get better at the SEO game by hosting my own blog on Cronhub and constantly producing quality content for developers.
Apart from content marketing I also want to touch a quick hack I’ve done on Twitter to bring more visitors to Cronhub. Most of my Twitter followers are tech people so it fits well to use my existing audience as well.
I love Twitter and I use it to occasionally tweet updates on Cronhub. Some of my past tweets got high attention very recently. Those tweets most often earn profile clicks. Knowing that I’ve intentionally added a direct cronhub.io link to my Twitter profile so people checking out my profile are more likely to click on that link. Believe it or not, it really worked. The days when I have high tweet engagement I have relatively more visitors to Cronhub. It has become an essential part of my social media marketing plus I really enjoy connecting with my followers.
One example is my most recent tweet that earned high impressions thus many profile clicks and checking GA I saw I had more visitors for that day.
Now that I’ve shared my goal and strategies with you the next step for me is to accomplish them. And this has to be without burning myself out or exhaustion. Since I have a full-time job I plan to work 1-2 hours every day on Cronhub. Rest is very important to me so spending long nights or working long hours on the weekends is not an option.
I’ll be dividing my time between product and content marketing. I’m so excited for my journey and can’t wait to share more in the future. Expect more articles like this from me.
Thank you very much for reading. I hope you enjoyed reading my story and learned at least one thing from it. Even if you didn’t maybe this inspired you.
If you’re building a product and this story resonates with you I’d love to hear from you. What have you done for the first 100 days after the launch of your product? Please feel free to comment with your questions. You can reach out to me on Twitter or email me.
If you’re a developer or part of a developer team that uses cronjobs you can try Cronhub for free. Use coupon “indiehackers” to get 20% discount if you upgrade to “Developer” plan.
This is my personal story of how I shipped my very first SaaS side-project while working full-time at Buffer. The goal of this article is to inspire you. If you’re someone like me who has a full-time job and wants to build a profitable side-business as a source of income then this story may resonate with you.
With this article, I want to show how I didn’t “hustle” or overwork and was still able to ship a real SaaS product.
I’m a web developer and I’m very lucky that apart from playing soccer in my free time I also enjoy coding and building web projects for fun. Most recently, I’ve created Booknshelf which helps many people to organize their books online. While working full-time has a big impact on my engineering growth some of the developer skills I’ve acquired from working on my personal projects.
It was only last year when I started to think about having a different source of income apart from my full-time job. The idea of being dependent on a single paycheck is a bit scary. I knew I have the skills and passion to figure something out. I decided I wanted to start a business, probably an online business considering the skills I have. The other trigger of those thoughts were because I wanted to experience and learn what it means to build a business. I never ran any business in my life so I saw this as a great learning opportunity, a path on which I can learn skills that I don’t currently have. The worst thing that could happen is if I fail, however, I’ll end up with experience and tons of learnings.
Obviously, the first thing that any developer would do is to start thinking about ideas. Ideas were never a problem for me but figuring out which ides is a good fit always was. This time I’ve decided to try a different approach and really think through the idea before I jumped on it. There were some criteria I wanted to run each idea through.
I wanted to solve a real problem, probably something I personally face
It should be for the market I know well
It should not be a new idea (it’s not going to change the world)
It could become a business
The golden rule of any idea is that it has to solve a problem that people face. In the past, I’ve added so many ideas to my notes so it was a matter of visiting the pool of ideas I’ve saved.
I knew from the beginning that I’d probably be more successful if I built something for developers because I know the market pretty well and most of my close friends and online followers are tech-based. I could use my network and audience to validate my idea and get a solid feedback before I commit to anything. This really filtered down all my ideas into a list of 2-3 things I could work on. One of the ideas was something I kept coming back to over and over again. It was something I’ve faced both at Buffer and during the work on my previous side-projects. A simple way to monitor scheduled cron jobs. Since one of the areas I own at Buffer is the analytics data infrastructure I have run a dozen cron jobs in the background to collect the daily analytics data for our customers. It has to be up to date. The Datadog monitoring service that we use at Buffer is really great but it’s primarily designed to monitor continuous services or servers. I wanted a simple dashboard where I could see the list of all my cron jobs, their statuses, and logs. Every day get a report of all ran jobs so I know everything is on track.
After picking this idea I wanted to see if there’re any existing solutions on the market. If there are it’s a good sign that there is a demand for certain tools. In fact, there were a couple on the market with different paid plans. I didn’t necessarily want to build something completely new because if I did it would have been so much harder for me to define and validate the market. All the existing solutions had paid plans so I knew people would pay for it. The next goal was to validate if my thinking is right by building and launching the initial MVP.
I spent 2 months to build the initial version of Cronhub (yes, I gave it a name). Something viable that I could send to a handful of my friends and Twitter followers to try. For the MVP I wanted something very simple but also valuable enough that people will pay for it. I know you may think that 2 months is a long time to build an MVP but I didn’t take the traditional “hustle” approach and instead.
Worked only 1-2 hours every day
Slept 8 hours every day
Watched Netflix whenever I wanted to
Fully rested on the weekends
Used the tech stack I felt most comfortable with
Since I have a full-time job I worked on Cronhub usually from 7 to 8:30 pm. I could also work in early mornings but I spend most of my mornings at the gym. There were some days when I felt mentally very exhausted after work and I took it easy but most of the time I stuck to my routine. I knew if I wanted to finish this project I had to keep the momentum and commit every day even if it’s a small change (can be a single line commit). Consistency has always been super useful for me to stay on track and ship. I used Trello to break down my project tasks into small milestones.
I tried to make each task very small so I can start and finish in a single day. Keeping tasks small helped me to ship faster and see my daily progress. When you see a progress it motivates you a lot and keeps you going. I think it’s a mind trick, maybe? Working on big tasks slows you down and eventually, you give up because you get bored and you want to jump on something else.
I never worked overnight. I went to bed around 10:30 every day and woke up at 7. Having a proper sleep is my number one priority. It defines the mental energy I have during the day and I can’t sacrifice it. Besides sleeping well I decided to spend most of my weekends on doing something completely different like playing soccer, watching movies or hanging with friends and family. Even though I love coding I know it’s easy to burn yourself out. Weekends helped me to refresh my brain.
I think as a developer you always want to use the hottest and coolest technologies. And it’s okay. I want that, too. However, my goal was different and I wanted to build and ship Cronhub as fast as I could with the technologies I already knew. I stayed focused on my goal and used Laravel and Vuejs. Cronhub is a single page application using Laravel for the backend.
Closed Beta Launch
On Feb 20, I finished the bare-minimum of Cronhub and was ready to invite the first pool of early adopters to try Cronhub. After my tweet around 20-25 people reached out to me on Twitter asking for an invitation and the feedback I got from them was super valuable.
There were couple reported bugs and some great feature suggestions that I’ve added to my feedback document. Keeping track of user feedback is an important step because it helps to identify the obvious patterns you can refer when you make product decisions. Overall the first impression and feedback were encouraging. Now I needed to continue improving the product and make it ready for the first public launch. I planned the first public launch to be within a month.
After three months, today, I’m launching my first SaaS side-project to the public. Yay!
Obviously, I’m nervous and don’t know if this is going to work out or not. However, I know this brings me one step closer to my goal. The goal to make Cronhub into a profitable online business where I can learn and experience all the hidden secrets of running a business. After all, what’s the worst that could happen? I’d learn so much!
I know maybe I’m too much focused on thinking about profitability but after building couple side-projects for free in the past I know it’s time for me to take my time a little bit more seriously. Time is the most valuable asset I have and I want to spend consciously. Building a paid product is way more motivating and it pushes you forward. Also, maintaining side-projects for free is expensive and I know it from my experience.
The past 3 months were really great timing for reflection as well as to evaluate what worked well and what didn’t. Every time I build a new project it’s a new learning experience. Each project is unique and requires a different thinking process around the product. As a product engineer I want to develop my product mindset and this helps.
Overall, I’ve learned many lessons that really helped me to start and launch an idea. I want to share the most important ones with you.
Solve a problem you personally face. This is so key because essentially you build the product for yourself, always keeping you in mind. This makes it a lot easer to make good product decisions. You know what questions you should ask and chances are higher that you ask the right questions.
Keep your tasks small. When you break down your project into pieces try to make them smaller. A good way to measure the size of the task is to ask yourself “Can I do this task in a day?”. If the answer is “No” then probably it’s a big task and you can break it further.
Sleep well and rest. I can’t stress how important the proper sleep is. You don’t have to work overnight. Focus on incremental progress and small daily commitments. If you don’t take care of yourself you will get tired soon and eventually give up.
Choose a market you know well. I’m a developer and I know this market well. I know what it takes to be a developer and how developer teams collaborate. This gives me a sense of things that will and won’t work out in this market. Of course, I can still be wrong but chances are a lot less.
Talk about your project. This is a challenging one for me and I’m still adapting to this. I don’t really like to talk about myself. I like listening more. It’s not easy for me to talk about the project I’m building because I’m a bit shy and don’t want to make an impression that I constantly talk about myself. However, I know I have to get the word out and market my project. That’s how others will discover it in the beginning. This article is an example of that.
Thanks so much for reading. I hope you enjoyed this story and learned at least one thing from it. I would love to hear from you, please feel free to comment with your questions. You can reach out to me on Twitter or email me.
If you’re a developer or part of a team that uses cron jobs you can try Cronhub for free. Use coupon “indiehackers” to get 20% discount if you upgrade to “Developer” plan.