This site goes live by pushing to GitHub. The Vercel build, the logs and the rollback all live in one place — here is the workflow and why I keep it that way.
Most contact forms lie. Here is the pattern behind this site's form: server-side validation, a honeypot, and a 'not configured' state that tells the truth instead of faking success.
When a project lives on a client-owned box instead of a platform, this is the checklist I run: container, reverse proxy, TLS, env vars, logs and restarts.
Infrastructure
Docker
Nginx
More notes are on the way. I don't do newsletter capture until there's something worth subscribing to — use the RSS feed instead.