Why Silverbullet separates business logic from transport
Most boilerplates put business logic in the route handler. Silverbullet splits every feature into a service package and a router package — and that one constraint decides how the rest of the codebase ages.