4 ms·
Ask HN: Solo developer – Recommended architecture/patterns for building a SaaS?
Across SaaS offerings there are some common functionalities that must be built but as a solo developer my time and resources are limited.
* Authentication / Authorization
* Usage monitoring
* API Gateway
* Billing calculations
* Invoice generation and sending
* Customer support (including portal to manage account)
I have left the specifics of the software out on purpose however it is primarily REST API based.
So far I have looked at building on top of Kubernetes with Keycloak for auth; Kong (free) for API gateway; cron jobs to calculate daily bills, update a database and send monthly invoices. It's ugly, takes more time than I would like to spend to maintain and develop and means I lose time spent working on my core business.
Are there any best practices/design patterns/architectures for building a small-medium scalable SaaS platform?
I am open to experiences with managed services and heavy vendor lock-in as previously I tried to avoid it but the flexibility (that I have not used) is a tradeoff with time and effort required.
- nonines 6y agoMaybe stack overflow would be a better place to ask. Please post back a link if you do.
- brudgers 6y agoThe question is a very poor fit for StackOverflow.
- nonines 6y agoI expect to get downvoted in Stack Overflow with the slightest bit of excuse but it seems that Stack Overflow gets you downvoted in every other forum you dare to mention SO without adhering to SO code of being totally right. Issues man. Deep unresolved issues. Anyway - like I said I'm interested in above question myself. If you find a community/forum that cares more to answer than advertising its internal psychological complexes then please share back. Thanks.
- tucaz 6y agoI’m on the same boat and have been building these things for the past year
- kugelblitz 6y agoWhat is the application stack you are using? Something like Laravel or Symfony (PHP) or Django (Python) would come with auth stuff already and it wouldn't take too much effort to make it API-oriented. Connect it to something like Stripe, deploy it on e.g. Heroku or so (I personally use AWS Elastic Beanstalk for almost all my projects, mostly because I feel most comfortable there) and you should be almost there. I have 2 side projects where I'm the solo developer, one runs on Symfony, the invoices are generated, but after they're sent, I need to manually check them (but each invoice is 100-200 US$, so it's ok). A second project runs on Django and is subscription based, here the invoices are higher in volume but only 5 US$ each. There billing goes via Stripe (among others) and is handled automatically. Check out https://www.indiehackers.com https://www.indiehackers.com as well for some inspiration.
- onelastjob 6y agoI think JumpStartRails.com offers a lot of what you are looking for https://jumpstartrails.com/ https://jumpstartrails.com/
- hazz99 6y agoThese are the things that gave me (a solo developer) a huge speed boost: - Use React with NextJS. Stopping messing with state and routing issues. - Use GraphQL instead of REST. Stop spending so much time writing well-structured API endpoints. - Purchase TailwindUI [0]. Stop pretending to be a UI designer and start implementing features. - Put everything in containers and host on Render [1] or Heroku. Stop spending time managing infra before you've found product-market fit. Remove everything that stands between you and solving a business problem. Everything else is completely irrelevant. Do whatever you can to get to market. It makes more business sense to pay $50/mo for Heroku and Auth0 than spending a month building infra and authentication, which you'll probably get wrong anyway. If I were to do this all over again, I'd probably go with PHP+Symfony/Laravel or Ruby on Rails. Something hyper-practical. I thought I'd never say this, but it's true. Development is fast. Recruiting is cheap. There are builtin patterns so it's easy to get help online. That being said, I do love React. [0] https://tailwindui.com/ https://tailwindui.com/ [1] https://render.com/ https://render.com/
- kugelblitz 6y agoWhat has your experience been with Render? Never heard of it, but looks interesting. What's the advantage over, say, DigitalOcean or AWS Lambda or Netlify? That everything is in one place?