$ cat /site.md
I had a lot of fun playing around with static site generators like Astro but ultimately landed on this stack.
Is it a little overengineered? Yeah, definitely.
But I enjoy the control, the flexibility, and the ability to do new experimental stuff on the fly.
- ➜ Backend: FastAPI - lightweight and async friendly
- ➜ Templating: Jinja2 — rendered server-side with FastAPI
- ➜ Frontend: Tailwind CSS + HTMX — styling + dynamic behavior without heavy JS
- ➜ Deployment: Gunicorn + Nginx on a small VPS
┌────────────┐
│ Browser │
└────┬───────┘
│ Request
▼
┌────────────┐
│ Nginx │ → serves static assets (CSS, favicon, etc.)
└────┬───────┘
▼ Proxy
┌────────────┐
│ Gunicorn │
└────┬───────┘
▼ WSGI
┌────────────┐
│ FastAPI │
├────────────┤
│ Routes │ → `/`, `/about`, `/home/*`
│ Templates │ → Jinja2 + Tailwind
│ HTMX Endpoints (optional)
└────┬───────┘
▼
Static Files