I started the Google AdWords campaign with the $150 voucher I got.
What I learned so far:
Getting the first customer and more importantly, the first paying customer is always a hot topic. Frankly, it's not something I'm good at, but at least for TeamCal, I managed to come up with a good solution.
Twelve customers of my previous side project wrote me that they are looking for something else and GANTTplanner is not what they need. I wrote them about my idea of TeamCal and that I will contact them once I have the initial product ready. I didn't do anything for one and a half years, so I didn't expect any positive results when I finally built TeamCal and wrote them. To my surprise, eight of those people tried TeamCal and some even signed-up for a paid subscription. What I like to add is that I wrote each of them an individual email referencing their previous email - no boilerplate text.
Even if you don't have a previous product, service or mailing list, I think this approach is still valuable. Search for forum posts, tweets, and other places and write those people that you are working on a solution and if you can contact them once ready.
My next update will be about my experience with Google Ads. I received a $150 voucher from Google and decided to spent in on ads for TeamCal :)
When I started my first side project, I wanted to learn as much as possible. That's why I coded everything from scratch and invested a lot of time to create features which weren't even that important.
While this was incredibly rewarding, it took me a very long time. I spent nearly six months to create a Gantt chart JS component (www.angular-gantt.com) before starting the actual business logic of the project.
Needless to say, this isn't the fastest approach to building a side project with the goal of earning money. On the contrary, it's risky because there is a big chance nobody will use whatever you made - not something you want to find out after spending a lot of time.
For TeamCal I took a radically different approach. First of all, I had initial customer feedback confirming that the idea of TeamCal is something they needed. While this doesn't guarantee a successful product, at least I knew there are others out there looking for a solution to the problem I'm going to solve.
On the technical side, I created the first version of TeamCal in less than two weeks in my spare time. I did this by re-using existing and mature ("boring") solutions as much as possible. The Django framework (Python) provides an excellent base for web apps because it includes all necessary functionality to do so. At the time Angular 2 just came out, but I decided to still go with Angular 1 because I knew it well, it was mature and there is a ton of material out there if something doesn't work.
I also decided to buy finished JS components from Telerik. While this requires an initial upfront cash investment, it helped me to focus on implementing the actual business logic. With no previous experience of Telerik I have to say that the components, documentation, and support is very good.
I'm running TeamCal on Heroku. Compared to a Digital Ocean droplet it's more expensive but on the other hand, requires zero operational efforts.
With my first post, I would like to welcome you to my journey of creating TeamCal. TeamCal is my second side project, and I built it based on feedback I received from customers of my first side project GANTTplanner (www.ganttplanner.com).
It always takes a lot of time to sync scheduling tools and events in individual employee calendars. Why is there no scheduling view directly in Google Calendar? To fill this gap I created TeamCal.