Where Good Ideas Come From is about finding the building blocks that are available right now to build your idea/project.
A building block is something that is ready to use to bring your idea/project to life. For instance, to Uber succeed it needs the technology of maps, the mobile phone, and a not so bad network connection.
What if we could apply this building blocks concept to find which blocks are useful to build any kind of SaaS product.
Here is my list of useful building blocks for every SaaS project:
Authentication
Any SaaS needs to let their users sign up and login somewhere.
Auth is hard then it sounds, you can log in using email + password, you could use tax ID or an enrolment ID of the company, you can also use email magic link, you can have OAuth or SAML functionally. you can have an arcade to enable auto-login if the user is already login in the web and want to login into the app.
Notification
t englobes emails and web/app pushes. you going to need to send an email to validate new users, you going to send emails to recover passwords. Users need to be notified when something happened in your service, without notification you don’t have engaged users and they will stop using your service.
Design System
You need consistency for your developers and also for your customers, a design system makes sure the same button has the same behavior in all screens, that all tables look the same, and so on and so forth.
Import/Export/API
You never gonna have all data of your customers inside your platform, so you need to provide APIs so users can get and send data to your services without you have to worry about it. You also need to provide some import/export mechanism, using excel/CSV for small users that can’t consume API. If the user asks to export data it is because there is something missing in your service, like custom charts.
Event Driving/Worker/Cron
Some workflows are slow, so you need to process them in the background, emails, notifications, export, aggregations, and more can be slow.
CRUD
Create, Update, and Delete, most data/things should be created, updated somewhere, and deleted. Master this in both backend and frontend
Activity Log
You need to record all user actions inside the service, so you can provide reports and understand what caused bugs, or who performed some actions.
Dashboard/Charts
You need to let the user build any charts they wanna if their data, this is the only way to scale, if you provide only N charts, they will always ask for more.
Multitenant
You need to make sure that one customer does not see data from another customer, so you need a block that makes sure that one tenant is isolated from the other
Form Builder
Each user is unique, and they will want to customize as much as they can your service to be closer to their specific workflow, a form builder can help in a way you let the user decide what data they wanna receive in some workflows
schema-less: related to form builder, you need to be able to your user to add new fields to any model, to create new models, to make sure you meet their specific workflow
Automation
User wanna have less working when they buy your service, so you need to provide some automation (check iOS shortcut app, Zapier), if you model every action as an event-driven, you can let the user build custom “shortcuts” to automate more of their work
Self Checkout
Users should be able to buy you use your product without talking to a salesperson. You need to invest a lot in design/UX and tutorials to make sure everything is easy to grasp and find in the first experience.
Feel free to comment which other building blocks are useful when building your SaaS project
Share this with your friends that are building a SaaS or want to start their SaaS company.