What I Learned Building and Deploying a New SaaS
By: Jovan Cicmil
Tags: Startup, Business, Entrepreneurship, SaaS, Productivity

What I Learned Building and Deploying a New SaaS

Image courtesy of my wonderful wife

Two months ago I made a promise to my readers — I would complete three of my unfinished side projects in 2021.

Since, then, I have deployed one — a simple service to help Quora writers build answers more efficiently by reusing and combining blocks of text.

I am sharing here what I learned in the process in hope that it will help other programmers launch some of their own passion projects.

Design is logic visualized

Many software developers struggle with design. And when I say “struggle” I mainly mean we avoid doing it because we think it requires a lot of creativity and visual thinking.

This is a problem because, if you refuse to design your own projects, you’re compelled to either pay someone or buy a template. The issue with the former is the cost. The issue with the latter is that you usually end up using a small portion of the template and the rest is only there to slow down your application and complicate your life.

But what if I told you that design can be understood logically just like anything else?

For your MVP, all you need is an understanding of a few basic layout concepts and a color scheme. Don’t feel like matching colors manually? You don’t have to. There are free services that can help you. This is the one I used. You pick the colors, you plug them into your stylesheets as variables, and you’re on your way.

I selected a dark theme because the app is very text-intensive. I chose colors that make sense for the industry. Everything else is Bootstrap.

Many developers are happy to build an MVP (minimum viable product) of their project, but get stuck on design because they think that has to be perfect. Use an MVD (minimum viable design) and upgrade as you go, just like anything else.

Validation shmalidation

With such low-impact building, you can afford to play around without customer validation. In this case, the only validation I had was the fact that I Googled for a similar piece of software when I was using Quora — and couldn’t find one.

Even if 0 people end up using the product, I will have made my own life as a writer easier, and the short time invested into building the software will pay itself off in a year or two.

Quit while you’re ahead

I have a list of ideas that would take a lifetime to execute, for this project as well as others. There’s a constant struggle between the desire to deploy a project and the desire to enhance it.

In general, software developers let the latter desire win. In the majority of cases, that is the wrong option. Resist the urge to build more features. This is a necessary exercise of willpower if you want to share your work with the world.

Build things that promote themselves

Marketing is one of the most common points of failure for new products for the simple reason that it requires either a lot of money or a lot of grind. Sometimes, it requires both. That’s why it’s good to prioritize ideas that have the potential of self-promotion. What do I mean by that?

Certain products incentivize users to attract more users. I’m not talking about your run-of-the-mill affiliate program, but about word-of-mouth being built into the core of the product.

For example, some years ago I built and operated a fantasy sports game. I had no marketing budget and no marketing knowledge. What I did have was a product that was predicated on user interaction: a user signs up, he wants to compete with his friends, so he invites them, they want to compete with their friends, and so on. There was still a lot of grind involved in spreading the word initially, but once the snowball started rolling it needed little guidance.

The same, to a lesser extent, is built into the Quora Answer Builder. In the free tier, generated answers have a link to the builder appended to the end. That’s it. Of course, the user can remove it manually, but doing manual work defeats the purpose of the builder somewhat. The idea is that Quora users will thus advertise the app to other Quora users and it will self-propagate through the platform.

All it needs — I hope — is a jumpstart in the form of my own answers.

Build reusable elements

When I built the project, I built it in such a way that I can reuse almost everything.

When I build a new SaaS tomorrow, I will essentially just need to replace the core algorithm and the color scheme. The things I will have ready are:

A responsive layout

Front-end architecture

Back-end architecture

Payment system and subscription models (just needs new prices)

Database architecture for users, payments, subscriptions, and settings

A basic admin panel

Static pages, contact forms, mail integrations, and so on

In addition, I used minimal third-party libraries in order to prevent running into versioning problems early.

Essentially, for my next project, I’m going to start with this project, strip it of the core service, then replace the core service with something else. Then I’m going to change the color scheme to one appropriate to that new project. This is a huge time-saver — it provides all the benefits of reusable no-code solutions while preserving the customizability inherent in manually coded solutions.

This won’t work forever because all tech eventually becomes antiquated, but it will be good for at least a couple more projects in the next year.

The result

Minimal design, minimal functionality, minimal burden, maximum efficiency. The investments I made were $30 for video editing, $10 for the domain, and about 20 hours of my free time.