
Ask HN: Solo developer – Recommended architecture/patterns for building a SaaS? - kisamoto
Across SaaS offerings there are some common functionalities that must be built but as a solo developer my time and resources are limited.<p><pre><code>    * Authentication &#x2F; Authorization
    * Usage monitoring
    * API Gateway
    * Billing calculations
    * Invoice generation and sending
    * Customer support (including portal to manage account)
</code></pre>
I have left the specifics of the software out on purpose however it is primarily REST API based.<p>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&#x27;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.<p>Are there any best practices&#x2F;design patterns&#x2F;architectures for building a small-medium scalable SaaS platform?<p>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.
======
hazz99
These 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
What 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?

------
kugelblitz
What 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
I think JumpStartRails.com offers a lot of what you are looking for
[https://jumpstartrails.com/](https://jumpstartrails.com/)

------
tucaz
I’m on the same boat and have been building these things for the past year

------
nonines
Maybe stack overflow would be a better place to ask. Please post back a link
if you do.

~~~
nonines
I 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.

