10 Essential things to know about building your own SaaS
by Brett Andrew
22/08/2023
Its been 4 years since we first embarked on creating mition.com - the ultimate all in one membership system distrupting the software industry and re-inventing how associations, unions and not for profits run their entire front end and back office.
It has been an epic journey and we have only just started. I see so many developers thinking they can create their own APP or service but they disappear faster than they appear. Its a long journey and you can't expect to achieve greatness overnight. Planning for the long road ahead will make sure you make it:
10. It could take 4 years of very hard work to get to a point where the core product was "complete" and even still there is a backlog of wish lists and things you would love to add.
9. Let your customers guide your build, encourage your customers to add improvements by paying for half if a module they want fits in your scope. But, also keep on scope for your products main goals (its easy to be led to build something that nobody else wants).
8. Architecture is key, every bad architecture decision will see you spend effort and time addressing the situation later on.
7. Trust nobody, everyone is a potential law suit, code theif, data theif. Sounds harsh, but it is up to you to create a product that prevents this for yourself and your customers (and future customers). Segregate duties from a developer perspective; separate those who have access to the database, front end code, back end code and hosting environments. From a product perspective, help clients protect their own data with password or 2FA access for staff. Have a lawyer create SaaS agreements to ultimately protect the product and your customers rights.
6. Investors are optional, not a necessity. We always thought at some point we would have a mass injection of cash for our hard work. But, we realised we didn't need it. Instead we changed adjusting our SaaS pricing to ensure our product would be able to grow, but not too much to hamper growth. This in return takes the pressure off to deliver profits / returns for investors and instead focuses on making sure our growth is sustainable. Imagine if your product stopped growing and your investors bailed to jump on the next band wagon where profits would increase; the stock market is the worst place to control SaaS which is only interested in one thing.
5. I.T. is really complex, either budget or have the internal skills to meet these in your first products release: API first, Responsive Design, UX, 3rd Party integration (email / storage / disk / caching), Database Backups, Auto Scaling, iOS and Android apps, single click deployment, code repository, project boards, team management, testing. Don't think that your prototype will bring in cash to fix this later.
4. You can't please everyone; expect that a small % of people will never be happy; you can't change that or expect perfect reviews from everyone. Don't waste time trying to please everyone; focus on core product.
3. Always focus on minimal rework; common tools centralised will make it so much easier to change something (like a date control) across the entire site. If you find you are writing 90% of the same code over and over, make a function to write the code for you to save time. We have functions that build the CRUD code, database classes and even database tables for us. We have a component called EditData we can use to edit all or any fields in a database table, SearchData to search any table, including advanced search.
2. Always design with forethought; multiple languages; multiple timezone; Its much harder to add these later.
1. Performance; work out which tables are likely to become huge (1 million rows+) and focus on making sure your app will deliver 3 second max responses on first load.
And lastly for marketing, cost per click is fine initially, but expensive, make sure you have a marketing plan where organic search brings your clients in.
I hope that helps! Leave a comment if it helped you or if you have any questions or need a consultant!
Brett Andrew
Enterprise Architect / Lead Developer / Director
Formition Pty Ltd
Powered by mition