Choosing the right Django architecture for your SMB SaaS
Most SMB SaaS founders pick their architecture from a YouTube tutorial. Here's the calmer way to choose — and why we picked the stack we did for SkillVault AI.
admin · · 2 min read
If you're building a SaaS for small and mid-sized businesses, the architecture question shows up before the first user does. React or HTMX? Postgres or Mongo? Microservices or monolith? It's tempting to copy what you saw at your last job — but your last job was probably ten times larger than the company you're building for.
Optimize for the team you actually have
If you're a solo founder, every architectural choice has a hidden line item: "how many hours per week will I spend keeping this alive?" A React SPA + REST API + separate auth service is fine when there's a team. When there isn't, it's a tax on every feature you ship.
Why we picked Django + HTMX for SkillVault AI
SkillVault is a B2B SaaS for small and mid-sized businesses to track employee skills. The team that runs it is small. Our architectural choices reflect that:
- Django monolith. One app, one deploy, one log to read. We will split if we have to. We haven't had to.
- HTMX for interactivity. 95% of our pages don't need a SPA. The 5% that do can still use Alpine or a one-off React island.
- Postgres for everything. Including jobs (django-q) and rate limits (cache backed by Redis, but Postgres works in a pinch).
- Server-rendered HTML + accessibility by default. WCAG 2.1 AA is meaningfully easier with HTMX than with a client-side framework that re-mounts the DOM.
What we didn't pick (and why)
We didn't pick microservices because we don't have an organizational reason to split. We didn't pick a Node + React stack because two languages cost twice as much attention. We didn't pick a serverless platform because we wanted to debug locally without three browser tabs of cloud consoles open.
The architecture you can actually maintain
The best architecture for an SMB SaaS is the one a tired founder can debug at 11pm. That's an organizational answer, not a technical one — but it should shape every technical choice you make.