On the cutting room floor
Bank App
A full-stack banking app: sign up, deposit, withdraw and send money to other users. Next.js on a Go backend with JWT auth, deployed with Docker.
Cause of death: Made a nice tutorial, and that's all it needed to be.
A banking dashboard of about 2k lines, built with Next.js 16, React 19 and Tailwind, connected to a Go Fiber REST API. Users can register, log in, check their balance, deposit and withdraw, transfer money to other users by username, and search their transaction history. The Cards, Payments and Settings screens are UI only.
Auth
Auth uses short-lived JWT access tokens plus refresh tokens. The API client refreshes the session silently when a token expires. If several requests fail at the same moment, they wait in a queue and retry once the new token comes back, instead of each one firing its own refresh call.
Deployment
Every push to main runs GitHub Actions, which builds a multi-stage Docker image (running as a non-root user) and ships it to a VPS over SSH.