Front-end: VanillaJS[1] or Elm
Server: Deno or Rust
Database: Postgres
Hosting: Cloudflare Pages and fly.io
---
Front-end is usually the complex part, so I focus on that first. Elm creates fast and clean front-ends (and the community packages never have bugs), so I embed Elm when the UI demands extra complexity.
I generally keep my server code _extremely_ light-weight. I shove most of the complexity of my systems into the database queries, where it's easy to optimize.
I also find it useful to organize my API into "one POST for each button" and "one GET for each table".
---