I'm using raw Postgres. I don't like a lot of dependencies or "stacks" where they don't need to be. Claude does this extremely efficiently.
But you pay a subscription to run a stack of software in anothers people computer.
btw wtf is raw postgres?
Since you asked, the level I've chosen for this project is Go and PostgreSQL via pq. There's a single level of indirection to wrap the database access in case we need to switch from Postgres for any reason, but otherwise the app interfaces directly with the database. Migrations are simple SQL files that are run as necessary as the server starts up.
This will all run on a dedicated server that is already doing other stuff. That's the full "stack" as it were.