
Build a Server Rendered Todo App With Templ and HTMX
Build a todo app in Go with templ, HTMX and SQLite where every action works as a plain form post and upgrades to fragment updates, with tests for both paths.
Servers, handlers, middleware, templates, cookies and sessions on net/http, plus the parts of a real website the tutorials leave out.

Build a todo app in Go with templ, HTMX and SQLite where every action works as a plain form post and upgrades to fragment updates, with tests for both paths.

Load Go web app configuration from defaults, a file, environment variables and flags in a fixed order, read secrets from files and report every error at once.

Resolve the tenant from the Host header in a Go server, with subdomains and custom domains, safe fallbacks, a context value and rules for unknown hosts.

Internationalize a Go web app with embedded JSON catalogs and golang.org/x/text: language negotiation, plural forms, number formats and missing translations.

See when the Go HTTP client reuses a connection and when it dials a new one, using httptrace, and how idle timeouts and Connection close change that.

Set up a fast templ edit loop: generate in watch mode, see text edits land without a restart, format with templ fmt, and set up the language server and CI.

Rate limit a Go API per key and per route with token buckets: weighted costs, 429 with Retry-After, idle sweeping, a fake test clock and 123 ns decisions.

Pick a Go web framework by what you are building: standard library, chi, gin, echo, fiber or huma, compared on dependency weight, handler portability and fit.

Build a CRUD API in Go with the standard library: a natural key, PUT upserts, ETag and If-Match locking, and a store contract tested on memory and SQLite.

See what Go gives you for HTTP/2 and HTTP/3 with no extra code, count connections to prove multiplexing, and use cleartext h2c with http.Protocols.

Render Markdown in Go with goldmark safely: what defaults block, what WithUnsafe lets through, and how to sanitize output with bluemonday for user content.

Choose Cache-Control values for fingerprinted assets, HTML pages, API responses and private data in a Go server, and set them from one small middleware.
We send one email when a new article is published. No spam.