Victor is a full stack software engineer who loves travelling and building things. Most recently created Ewolo, a cross-platform workout logger.
Create a SaaS in 18 steps

Over the years I found myself referring to the following over and over again so I thought that it would be good to formalize it. Here it goes:

Step 1: Establish a core problem and do basic market research
Create a one line answer to the question: why is this product necessary?
Step 2: Make a prototype
Something simple and elegant that would deliver core functionality, albeit perhaps trimmed or truncated. Note that the technology is irrelevant here unless the product is tied to a specific tech.
Step 3: Get user validation
Yes/no/maybe. Why?
Step 4: Find a hosting solution
Heroku, cloud hosting à la AWS EC2, DigitalOcean, etc.
Step 5: Setup infrastructure
Install updates, configure server, setup application environment, create docker images, etc.
Step 6: Determine a name and buy a domain
Namecheap, etc.
Step 7: Branding and logo
Inkscape, Logojoy, etc.
Step 8: Add basic analytics
Google Analytics, etc.
Step 9: Deploy prototype to server and launch
ProductHunt, friends, family.
Step 10: Process user feedback and validation
What is working and what isn't? Re-calibrate assumptions here.
Step 11: Establish a release process and stabilize
Semver, blog posts, notification system, end-2-end integration tests for critical paths, etc.
Step 12: Add 3rd party service integrations
I generally prefer doing this after launch but it might make sense to have all of this setup prior to launch or maybe even in the MVP - email via Mailchimp, payments via Stripe, etc.
Step 13: Add application monitoring, resiliency and backups
Pingdom, /usr/bin/wget "" --timeout 30 -O - 2>/dev/null | grep -i "The funniest t-shirts" || echo "main site is down!" | /usr/bin/mailx -s "attention, main site is down", RDS, Crashplan, etc.
Step 14: Add detailed analytics
Analytics are so crucial, it might make sense to go for gold right at the start. Of course, you could start adding them in slowly as you grow: Mixpanel, Baremetrics, etc.
Step 15: Automate administrative tasks
Basic cron jobs or an admin panel should be sufficient: error reports, test users, daily usage reports, weekly growth charts, etc.
Step 16: Market it!
Content marketing, ads, hustle.
Step 17: Rinse
Create/update roadmap and add features based on user feedback.
Step 18: Repeat
Goto step 16.


Step 17.1: Scale
Scale infrastructure and application based on user growth.

Note that following these steps is no guarantee that your product will be successful but it should hopefully give you a good reference point for all the nitty-gritty that needs to be taken care of. If you made it as far as the bonus, then I'd love to hear from you. Good luck!