Building SaaS startup from scratch

On my track from Zero to Hero  I was looking for an idea of a meaningful, profitable online business. As there are various ways of achieving that goal I was wondering which path should I take. I’ve gathered my ideas and wrote this blog post.

Some time after, one of the readers of that particular post (and also my colleague) asked me to be a co-founder of a new online business. I took it into consideration, examined pros and cons and finally decided to accept the offer.

We’re starting this business from scratch and I want to walk you through all the steps of the process. It’ll be a case study in a real time.

FYI: We still have our 9-5 day jobs, so our time is limited. We want to prove that it’s possible to create another stream of income in form of online business on the side.

Recipe for a business

What do you need when creating new business?

  1. Idea
  2. Monetization model
  3. Market
  4. Proper execution

Combination of those four points is a recipe for a successful business. It could be summarized like that: Execution of your idea attracts the market which pays you according to your monetization model.

Let’s get down to the details.

Idea – what are we actually building?

Coming up with business ideas is quite challenging. At least with the successful ones. Generally there are two ways of how you can proceed:

  1. Create innovation, something that hasn’t been created yet. Like Snapchat.
  2. Use some well known idea, but create product that is better, simpler, more specialized or has some other added value. Like Base CRM.

We took the second road and decided to build web based, SaaS application for insurance agents that helps them with their work. Kind of small, specialized CRM.

What is SaaS? According to Wikipedia: “Software as a service (SaaS) is a software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted. SaaS is typically accessed by users using a thin client via a web browser.” In our case it will be web application with paid access, hosted in the cloud and available from any location and any device.

Monetization model – how our product makes money?

Besides creating value and helping people we want our business to generate revenue. Like most SaaS products we’ll base our monetization model on recurring payments with monthly/annual fees. To attract new customers we’ll offer a 30-days free trial.

Market – who would use our product

Now let’s evaluate the size of the market and see if it’s even worth stepping into.
As we live in Poland we’ll target the local market. It’s around 200,000 insurance agents in Poland. Let’s assume we charge $20 per month per user, that gives us $4,000,000 monthly. If we could get 1% of the market (2,000 users) it gives us $40,000 per month. Worth a try I think.

Execution – how can we build the product?

Even the best ideas without proper execution are most likely doomed. We need a way to build and launch our product. Luckily we’re both software developers, so we can do the programming ourselves, we don’t need to hire anybody. At least for now.

If you’re thinking about building similar product, but you can’t code, consider taking a programmer as a co-founder.

3..2..1.. GO!

Starting something from scratch is always exciting, as well as being your own boss in that matter. Your head is full of ideas, you’re buzzing with motivation, your life is great and full of possibilities. I love those moments and I cherish them. I think that even if you fail, you’re already a winner, because you had courage to start.

Before starting actual development we need to make few more decisions.

Name and domain

First of all we need to pick up a name for our application and purchase corresponding domain. Why is it necessary to do it so early? For branding purposes, as you will read later, even though the product doesn’t exist yet we’ll start promoting it and begin to look for customers.

We decided to go with the name: “Polisa w Chmurze” – it’s Polish for “Insurance policy in the cloud”. We chose Polish name, because, as you know we’re targeting Polish market.


Choosing technology stack could be challenging, especially for non-technical founders. Fortunately we are technical, so it shouldn’t be so hard for us. Being .NET developers we’re obviously biased towards .NET stack, which isn’t considered to be a startup-friendly. However we decided to use it, mostly because of our experience which enables rapid and efficient development. If you’re interested in the details of our tech stack, I’ll describe it hereafter.


For handling your tech stack you need proper hosting. We decided to go with Azure. Azure is a cloud computing platform created by Microsoft for building, deploying, and managing applications. It’s a great place to host your apps (not only .NET ones) and what matters most you can get it for free for 3 years (overall up to $120K). You just need to join the BizSpark program and you’ll get Microsoft software and Azure for free for few years. If you’re interested check it out here.


Before creating the actual full featured product you should start with building a prototype, which in software development is called MVP.

MVP (minimum viable product) is a product which has just enough features to solve the main problem you’re addressing and can give you enough information to validate your idea. The purpose of MVP is to not waste your time and money on a product no one will want to use.

Actually great number of startups doesn’t require much coding for validating their ideas. It could be done in a concierge MVP manner, where instead of automatic processes, you manually create a solution to customer’s problems. For example: your application serves a feed with most important news based on user’s interests. Instead of creating advanced algorithms up front, you simulate that mechanism and manually create the results. After that you interview your users, check their reactions and make sure your idea is valid. If not, pivot (change the idea or it’s execution) and go through that process again.

Important thing about building MVPs is prioritization of your product’s features. We can divide them into to two groups:

  1. Must have
  2. Nice to have

“Must have” group is a core of your business. This part solves the main problem of your customers. It’s the reason why they will use your product. Majority of “must haves” must be included in your MVP. Time for features “nice to have” will come after validating the idea, when you already have some customers. Although sometimes one of the “nice to have” functionalities can give you leverage over your competitors, in most cases leave those for later.

In our case we don’t need so strict validation process, because our business model is more or less known. Nevertheless we will build the MVP, find customers, validate the idea and only if the validation is successful we’ll create the end product.

“Must have” features

Easiest way of picking features for the MVP is to create short description of your product and then focus on the keywords. Let’s do that now.

Our product helps insurance agents with managing clients and their insurance policies. Based on those information, user can generate custom reports and send reminders to clients about ending policies.

From this description we can easily extract major “must have” features:

  • Managing clients
  • Managing insurance policies
  • Generating reports
  • Sending reminders

Those features should be now particularized with user stories. User stories are short sentences using everyday language describing functionalities from the user of the system perspective. For instance:

Feature 1: Managing clients
User story 1: As an agent I create a new client
User story 2: As an agent I edit selected client data
User story 3: As an agent I’m listing all my clients

User stories originated with Extreme Programming and are more human-friendly version of use cases. Each user story can be broke down to multiple low-level tasks. For instance:

User story 1: As an agent I create a new client
Task 1: Add client entity to the database
Task 2: Create “new client” form
Task 3: Handle pressing “save client” button

Creating that kind of feature fragmentation really helps during the development, since it gives us small blocks that are easy to produce and easy to test. It’s also easier to track the progress of the project, which is especially important in case you’re paying somebody to do the work.

If you have it covered you’re ready to start building the MVP.

Advertise your brand and build excitement before launch

Building the core product is obviously important, but even the best one will do no good for the public if they don’t know it exists. You should tell the world about it immediately. Building excitement around your product, even if you haven’t started it yet could be the key to your success. Like in case of Dropbox where before launch they collected around 75,000 email addresses of people who wanted to use their product. How they achieved it? Simply, they created a landing page and used social media to direct the traffic into it. It went viral, hence the results.

Landing page

Good landing page should be a single web page that presents your brand, describes the value proposition of your product and has clear, simple “call to action” request, such as “buy now”, “request invite” or “join the newsletter”.

For the purpose of our project PWC (Polisa w Chmurze) we built such landing page. Main purpose of it is to collect emails of potential customers. You can find it here Now let’s analyze it.

1. Brand presentation and call to action – red button “Sprawdź” (means check out)


2. Value proposition

Value proposition
3. Main part of the call to action. “Do you want a free invitation? Leave us your email”.


To create this landing page I used free Boostrap template from here, added handling of the “leave your email” form and connected it to Google Analytics.

What is current result of our landing?

  • 153 unique users visited the page
  • 10 potential customers signed up


Conversion (percentage of users who signed up to overall number) on our landing page isn’t so high, but you need to remember that this is a niche product without any advertisement. So far I’m quite happy with those results.

Social media

When your landing page is ready it’s time to direct some traffic into it. There are number of ways of doing that, I’ll start with the easiest one, the one we’ve already done – creating a Facebook page. It takes just a few clicks to get it ready. You can find it here.


Facebook has a massive user base and it’s very tempting to advertise your product there. Of course such valuable data have a price. Unless you put some money in your campaigns, it’s very difficult to achieve something. But when you do you can create highly focused campaigns, which can make a great deal especially when marketing niche products. For example you can target your ad to people from Poland in age 30-45 who are somehow connected to insurances.

As an experiment I’ve created small, 3-days campaign for my fan-page and put few bucks in to it. This campaign generated few leads in form of email addresses of potential customers that were left on our landing page. I think there is a big potential for our product in that form of marketing.

Building the product

Besides building the landing page we already started working on the core application. So far we’ve built:

  • Login page
  • Simple registration page
  • General layout
  • Few sample pages

Login page

We also created most of our core domain, database versioning mechanism and some infrastructural code. Since our application is mostly data-driven we need a good way of displaying and managing data on the client side. We decided to go with DataTables . So far it looks quite promising.


Our current tech stack:

Back-end: C#, ASP.NET MVC, SQL Server, Entity Framework, XUnit
Front-end: HTML, CSS, JavaScript, Bootstrap, DataTables
Source control: Git
Continues delivery: Azure
Task management: Visual Studio Online (Team Services)

What’s next

We want to finish the MVP and start validating our idea as soon as possible. In the meantime we’ll continue to promote our brand and build excitement around the product. We’re going to experiment with other ways of advertisement, such as AdWords and direct marketing.

I hope you enjoyed this part of my Zero to Hero journey. I would really appreciate your feedback in comments.

Bogusz Pękalski

Founder & CEO w MailingR, developer, entrepreneur, sailor, gitarist, beer geek, traveler, husband and father.

Your Header Sidebar area is currently empty. Hurry up and add some widgets.