EN
Back to the archive

The archive · Product Ideas · Product decision · 2019–2022

Bud gives Go a full-stack framework that writes the boring code only as you need it

Matt Mueller spent three years making Bud, a Go framework whose projects start barebones and generate glue code only as features appear — 5.6k stars.

Bud (livebud)

The ideaBuild a Go framework that scaffolds almost nothing and generates each piece of boring glue code only when a feature needs it, out of source control.incremental

What it had to solve

After watching Laravel tutorials in 2019, Matt Mueller wanted that kind of productivity in a typed language he loved, so he set out to create Laravel for Go. His first version, working after six months, had to scaffold many files just to start, and building a blog from it 'fell flat'.

How it works

Go makes it easy to write fast servers, but in 2019 nobody had brought it the all-in-one web experience of Laravel or Rails. Matt Mueller watched Laravel tutorials, was 'blown away by how productive you can be', and decided to try creating Laravel for the Go ecosystem rather than go back to writing PHP.

His first version worked within six months but failed the real test: it needed many scaffolded files just to get started, and building a blog from it fell flat. The turnaround came from Next.js, which starts barebones and lets every file you add incrementally enhance the app. Mueller spent 18 months rebuilding Bud around that constraint: generate files only as you need them, keep generated files away from application code, and give developers the choice to keep them out of source control entirely.

The result was a framework that 'writes the boring code for you': it works with modern frontends like Svelte and React, supports live reload and server-side rendering, offers high-level type-safe APIs that compile down to low-level Go, and packages the entire app into a single binary that can be copied to a server without Go installed. A video demo shows a minimal Hacker News clone built in 15 minutes.

Announced as a Show HN on 2022-05-13, Bud drew 531 points and 99 comments, and Mueller spent the thread explaining its architecture and roadmap. The repository grew to 5.6k stars with 175 forks, and real-world projects appeared, including the Bass Loop CI/CD stack and Bud's own welcome page.

Why it lands

  • Anchoring to Next.js gave Bud a design constraint most Go frameworks lacked: complexity stays proportional to what you build, not what you might build.
  • Generating glue code on demand and hiding it from application code removed the biggest adoption tax of scaffold-heavy frameworks.
  • Compiling the entire app to one deployable binary leaned into Go's strengths and gave the framework a concrete, memorable promise.
  • The 15-minute HN-clone demo proved the claim visually, which made an abstract framework argument easy to evaluate and share.

What it did

The Show HN post drew 531 points and 99 comments on 2022-05-13, with Mueller answering deep architecture questions on server-side rendering, V8-in-the-binary and persistence plans. The repository later showed 5.6k stars, 175 forks and 491 commits, plus real-world projects including Bass Loop (a CI/CD stack) and Bud's own welcome page written in Bud.

Their siteBud on GitHub: source, demo and docs

What you can take

Steal the incremental-enhancement rule from mature ecosystems: start barebones and generate the tedious wiring only as features demand it, so complexity tracks what you built.

Since then

Bud kept its open-source, MIT-licensed trajectory after the 2022 launch: the repository page that carried the Show HN continued to list the same goals — files generated only as needed, a modern-JS-framework feel, extensibility by code rather than configuration, and single-binary builds. It accumulated 491 commits, 5.6k stars and 175 forks, and its README pointed to real-world projects such as Bass Loop and Bud's own welcome page. The founder stayed engaged in the launch thread, answering questions about server-side rendering and his roadmap for models and persistence.

Sources

spotted an error? The archive wants to know.

Your turn

You just read one. Describe the brief you are staring at, and see who has been given the same problem.

Free account · 3 free questions · no card

Related cases