Readit News logoReadit News
tamnd commented on Show HN: A practical, code-driven guide to learning HTTP frameworks in Go   github.com/go-mizu/go-fw... · Posted by u/tamnd
tamnd · 4 hours ago
I have been working on go-fw, a small, code-driven guide to learning HTTP frameworks in Go.

Each chapter focuses on one HTTP concept and shows the same runnable example across net/http, Chi, Gin, Echo, Fiber, and Mizu. The key idea is that the README files are the single source of truth. All example code is generated from them and verified to compile and run (some may contain errors, let me build proper CI/CD later).

It is meant as a practical reference and a way to understand where frameworks differ in responsibility and wiring, not just syntax.

Book view here: https://github.com/go-mizu/go-fw/blob/main/BOOK.md

tamnd commented on Ask HN: What Are You Working On? (December 2025)    · Posted by u/david927
tamnd · 15 hours ago
I'm working on Mizu, a small Go web framework built around a simple idea: net/http is already good, frameworks should not fight it.

I've kept running into the same problems in popular Go frameworks: hidden context mutation, magic middleware ordering, reflection-heavy binding, and APIs that slowly drift away from the standard library. The Gin ecosystem in particular has accumulated a lot of technical debt and footguns, which this post summarizes well: https://eblog.fly.dev/ginbad.html

Mizu is deliberately boring by design:

  - Built directly on Go 1.22 http.ServeMux
  - Explicit middleware chains with clear scoping
  - No reflection, no codegen, no global state
  - A real request context type that still interoperates with net/http
  - First class graceful shutdown and error handling
If you're happy with net/http but want slightly better ergonomics and structure without losing control, that's the gap Mizu tries to fill.

Docs: https://docs.go-mizu.dev/overview/intro

u/tamnd

KarmaCake day834June 22, 2025View Original