How Build Your Own SaaS Platform
In an earlier blog post, we explored SaaS (software as a service) architecture and took a deep dive into how modeling your next software application in this way can yield many benefits for your business. We also looked at the key features and components that a SaaS application has, what features you need as a bare minimum and we also looked at what some of the downsides of a SaaS application potentially are.
In this blog post, we look at some of the things you‘d want to consider if you want to build a SaaS platform. Whether you‘re a founder, developer, CTO or just have an idea that you‘d like to explore and think an application modeled on SaaS architecture could be your next big thing, we‘re sure you‘ll find some golden nuggets of information in this article.
Specifically, we cover the following topics:
- What Service do you want to build?
- Determine your pricing model
- Document your requirements
- Pick a tech stack
- Find developers
- Marketing your SaaS product
- Build the product!
- Deploying your SaaS product
What SaaS product do you want to build? Is there a market?
You‘ve got an idea of the kind of product that you want to build, awesome! But how do you know it‘ll work? How do you know it‘ll resonate with the market and that people will want to use it and more importantly – pay for it?
Long story short, how to build a SaaS platform?
Testing the market
You can perform a litmus test of the market or industry you want to deploy your SaaS solution into by creating a website landing page that has some simple HTML pages that illustrate how your new software will solve a consumer or business paint point. To really sell the idea, you can embed a short explainer video that details how your product works to help further sell the idea/product.
On this web page, you can place a “call to action” which encourages visitors of this website to supply their email addresses. In return, you might want to offer a free eBook or promise potential customers discounted subscription fees when you unleash your SaaS product to the world.
You should promote this site on multiple social media channels and popular websites such as LinkedIn and Reddit thereby giving your landing page site as much exposure as possible.
Installing Google Analytics will help you build a picture of the locations and demographic makeup of visitors and more importantly when you have enough email addresses, you‘ll have concrete evidence that confirms if there is some mileage in your idea.
It‘s been said by Kevin Felly that you only need 1,000 true fans to have a business, so get promoting that landing site!
Determine your pricing model
The first thing to do if you want to build your SaaS platform is determining your pricing model, and that can be a tricky affair, you need to be fairly compensated for the value you provide to customers and your product needs to solve their pain point or business challenge. If you don‘t charge enough, your initial investment will take longer to recoup and you‘ll most likely lose motivation. If you overcharge customers, adoption of your SaaS product may stagnate and turn off potential new customers.
You have a few options in terms of your pricing model and there are arguments for and against each model. Some of these include, but are not limited to:
- Simple, flat-rate pricing
- Usage-based pricing
- Tiered Pricing
- Per Feature pricing
The list is by no means exhaustive and you need to pick the model most suited to your business idea. Are you happy to give users access to every feature for a fixed fee? Then Flat Rate pricing might be the simplest option. It‘s an easier sell, it also makes sales and marketing easier as you only have one offer to push. A downside to this model, however, is that it can be difficult to upsell to existing customers as you‘ve locked them down to a fixed price.
Alternatively, Tiered Pricing gets around this issue by attributing a cost per feature in your SaaS solution, a downside to this, however, is that it can be tricky to determine which features that users will want.
The answers to pricing model questions can be gathered whilst your testing the market and trying to figure out if your idea has some mileage in it. When you‘ve settled on an idea, and figured out how you‘re going to monetize it, the next thing to consider is getting a handle on the requirements of your SaaS solution.
Document your requirements
If you‘ve confirmed there is a market for your SaaS product, building the MVP is a good next step to take.
Rather than build your entire application with every feature possible, a good approach is to build an MVP (Minimal Viable Product). This contains the core essentials of your application that are needed for it to function at the most basic level. Having a minimum viable product in place lets you test out your product with early adopters to get feedback for future iterations and it‘s a great approach to get started.
To do this, you need to document the requirements for your minimal viable product. There are various approaches you can deploy to achieve this. The most common ways are to write the functional specification or develop a series of user stories. Regardless of which approach you take, what is common across each approach is that they detail the system requirements for each piece of functionality in the system you want to build. Lack of quality requirements documentation can severely hamper the delivery of your MVP, so take the time to the requirements for your MVP to be as clear and specific as possible. If you‘re a non-technical founder, it might be worthwhile employing a business analyst or consultant to help you translate your idea into technical requirements that a developer can just run with!
Pick a tech stack
Now that you‘ve got the requirements documented for your MVP, it‘s time to consider which technology you‘d like your SaaS product developer in. Web technologies can be somewhat of a minefield. Especially with client-side/front-end development. There seems to be a new client-side library every month!
When picking a technology stack to develop your SaaS product or MVP, you‘ll want to consider several factors that may include, but are not limited to the following:
- How big is the developer resource pool?
- How mature is the technology or programming language, is it current, or dying?
- Is the technology suitable for my MVP (e.g. can it support big data, web services)?
- Does the technology support the features you need?
- Will you be able to integrate the technology with several platforms?
- Does the technology lend itself to being integrated with other products?
- What is the roadmap for the programming language?
Taking the time to think about these points will ensure that you don‘t pick a tech stack that‘s out of date or that no-one wants to work within, not to mention, will ensure that your tech stack is suitable for the task at hand!
You‘ve got the idea, validated it‘s a good one, documented the requirements and settled on a tech stack and programming language. The next thing to consider in order to build a SaaS platform is looking for a developer that can help you realized your SaaS dream!
SaaS products are generally distributed over the cloud. They often manipulate data, consume other web services and render information in the user‘s web browser. Because of these characteristics, building your MVP or SaaS product often involves multiple skillsets.
When looking for developers to build your MVP or SaaS product, you‘ll want to look for developers with skills that include, but are not limited to:
Hire expert developers for your next project
1,200 top developers
us over the last 3 years
- writing database queries and interaction with datasets
- server-side programming and business rules development
- frontend development
You‘ll also want to select developers that have a track record of building and implementing web applications – at scale. You can look for developers domestically, nearshore or even offshore. It’s beyond the scope of this blog post to go into the numerous service providers on the internet but if you have a look around, you‘ll find a few online services that let you search the talent pool for developers with their unique skills you need.
Marketing your SaaS product
Just before building your product, it‘s worth advertising your brand to generate some excitement and to let the world know about it. Building this excitement around your product, prior to building it could be the key to your success. For example, Dropbox built a landing page (like we just mentioned earlier) and promoted it with the help of social media which helped them harvest the email addresses of over 70,000 people!
Other channels that can help you promote your SaaS product include, but are not limited to are:
The key is to use these social channels to get the word out and help you generate some buzz around your product and, and at the same time, build a mailing list that you can contact when you‘ve built the first cut of your SaaS solution.
Build the product!
We’re getting to the point of answering the main question: how to build a SaaS platform?
In parallel to building your email list, it‘s time to get down to building your SaaS product! Expect to be in regular contact with your developer or team, clearing up ambiguities in any of your requirements, testing the product and ensuring that your core features have been built to spec.
If your team is distributed and located around various locations of the world, there are plenty of online collaboration tools to help you communicate. A popular choice that‘s free for up to 5 users is Visual Studio Team Services (VSTS). With VSTS, it can help you plan development work better, code faster and improve developer productivity.
It integrates with most popular source control providers such as Git and TFS whilst also allowing you to ship products faster by implementing practices Continuous Integration. Using Kanban and Scrum boards, you can easily visualize where development tasks are in the plan, if they‘re yet to be completed and how much capacity your team has.
Other important components of that you‘ll need to consider in order to build a SaaS platform are:
- types of the databases you need/want to use
- queuing systems to run asynchronous services
- cloud infrastructure to host your SaaS solution (it‘ll need to scale on-demand)
- content delivery networks
- how you‘ll handle defects and software updates when you go-live
As developers complete, features, you‘ll likely go through several iterations of your product, when you get to a point when all the key feature of your SaaS solution are built, it‘s time to deploy it!
Deploying your SaaS product
After you’ve finished building a SaaS product that fits your requirements and needs of your audience, it’s time to think about its deployment. The main cloud providers such as Microsoft Azure and Amazons AWS make it relatively easy to provision web servers that can host your SaaS solution. They can scale on-demand and are equipped to deal with surges in users of your SaaS application.
With Azure, for example, you can quickly configure development, test and production servers that integrate with your development pipeline and roll out automatic releases. Azure even has functionality that allows you to auto-migrate between virtual machine instances which can be helpful in disaster recovery or upgrade scenarios.
If you‘re nervous and don‘t want to release your product to everyone on the mailing list you‘ve built from your marketing and landing page efforts, you can contact a subset of users and invite them to a private beta. This will give you time to iron out any kinks prior to the main go-live. You may even get some valuable feedback that you can ask your developer to build.
Finally, when you‘re confident your product is ready for the world, and you‘ve let everyone know in your mailing list, it‘s important to track user engagement and do an audit of KPIs and other core metrics. This will be the topic of the next blog post so stay tuned!
In this article we‘ve looked at the key building blocks necessary to build a SaaS platform, we covered how to identify an opportunity, why it‘s important to get your requirements right and looked at how you can source developers to help build your SaaS application.
We then looked at what to consider when establishing your pricing model and some steps to take when deploying your application. Finally, we looked at what you can do to market your SaaS application and closed out with the importance of monitoring user engagement and how to use that feedback to help you drive the design of your SaaS application.
Take the topics we‘ve covered into account and you‘ll be on a good path to realizing your SaaS vision!