It seems like these days everyone wants to build a software as a service app. The siren’s call of monthly recurring revenue is hard to ignore.
SaaS products are a complex undertaking. I’ve worked on them before and seen how all the moving parts have to interact. There are plenty of SaaS Development tools, libraries, frameworks, and even other SaaS products out there to help you along the way. Where do you even get started?
If I were to start building a SaaS application today, and I say today because technology is always moving quickly, here are the tools I would use to build a SaaS application. This list focuses on the technical aspect of getting the software built, and not on sales and marketing. That is another listicle entirely.
Server-Side SaaS Development Tools
1. Ruby on Rails
Ruby on Rails is my backend framework of choice. It’s not always the most efficient, and sometimes it gets in your way instead of helping. But the community, suite of tools, and ability to handle common web application problems makes it a winner in my book.
PostgreSQL is the default for Ruby on Rails applications, and the best database I’ve ever used. The fact that it has support for JSON objects makes using it over other SQL based solutions like MySQL, and NoSQL solutions like MongoDB a no-brainer decision 99% of the time.
Client-Side SaaS Development Tools
Ruby on Rails has built-in support for package management in the form of bundler and Gemfiles. However, front-end packages in the form of gems are often created and maintained by 3rd party developers, which means they are often buggy, out-of-date, incomplete, or not existent. Bower is more reliable than these gems. There are tools, such as the gem,
bower-rails that help you integrate Bower with the Rails asset pipeline.
4. Foundation by Zurb
I find Foundation by Zurb to be cleaner and simpler to use than Bootstrap by Twitter. Plus, you get the added benefit of you unstyled front end looking slightly more unique than other application’s unstyled front ends! They also have a new version of Foundation that is aimed specifically at applications, and not just websites.
5. AngularJS (maybe)
Some applications have a structure where the UI is a client-side web application, and the server is just an API server that handles data operations. This arrangement is suitable for some, but not all applications. If the app needs a dedicated client-side front end, then AngularJS is my choice.
Hosting and Systems Administration
Heroku is pricey but worth it. While I pay a steep Heroku bill month-to-month, it gives me more time to focus on creative and decisions, and less on system administration. If you or someone that works for you is handy at maintaining servers, this may not be the best choice for you. Plus, it “scales”. Startups love things that scale.
7.Amazon Web Services (Specifically S3)
I use Amazon for hosting my assets, such as images, or even entire static sites. The cost is cheap and flexible. However, if you are using Heroku, I find it worthwhile to go with your setup and not pay their fee.
Namecheap is the best place I have found to manage domains and SSL certificates. Both are a requirement for a web based SaaS app.
SaaS Development Tools For Payment
Stripe is an easy to use payment gateway, both for managing payment and integrating it as a developer. I even use it to manage invoice payments from my clients.
Drip is a powerful marketing automation platform that doesn’t cost an arm and a leg. I’d use Drip for both marketing emails to bring customers on board, and also to set up campaigns for situations such as user onboarding and feature adoption.
Mandrill, a spinoff service of Mailchimp, is great for setting up transactional emails. Drip could be used for this purpose as well, and I’ve yet to experiment to see which one works better. If email is a heavy part of your marketing structure, I will rely on Drip exclusively. If you are sending one-off emails, I will use Mandrill.
RSpec is my personal favorite testing tool for Ruby on Rails. It makes writing tests painless, and reduced friction means more tests get written.
Once you have used RSpec for unit testing, Capybara makes sure those individual pieces work together nicely.
What RSpec accomplishes on the server-side, Jasmine accomplishes on the client-side. It also plays nicely with AngularJS, if you decided to go that route.
Teaspoon is a gem that allows you to run client-side tests in the same manner you run your server-side tests.
17. Google Analytics
A good standard, but not enough by itself these days. Anyone who wants to dig a bit deeper into the behavior of their application or shared my hatred of
[keyword not provided] knows what I mean.
Mixpanel makes event tracking a breeze and is free when you are first getting started. Are people using that new feature you built? Do people share with those brightly colored share buttons? Which features convince people to renew their accounts and upgrade? Mixpanel will help you answer that question.
19. Baremetrics (eventually)
“One click and you get dozens of valuable metrics from your Stripe account”. Whoever does the copywriting for Baremetrics is right on the nose with their description. Baremetrics isn’t valuable until you have enough paying customers that the data matters, but as soon as you do, I would highly recommend implementing their service.
What would you add to your SaaS toolbelt? Hit me up and let me know. I love geeking out about this kind of thing.