Title: Hey HN! I want to share my side project with you. It&#x27;s called Bud and it&#x27;s a full-stack web framework for Go.<p>I created a short video to show you how to create a minimal Hacker News clone with Bud: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=LoypcRqn-xA" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=LoypcRqn-xA</a>.<p>The framework is free, open source and MIT Licensed. You can find it on Github: <a href="https:&#x2F;&#x2F;github.com&#x2F;livebud&#x2F;bud" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;livebud&#x2F;bud</a>.<p>I started working on Bud 2 years ago after watching the introductory Laracast videos about the Laravel web framework. I was just blown away by how productive you can be in Laravel. However, like many of you, I&#x27;ve been so spoiled by Go. I didn&#x27;t want to go back to writing PHP, so I decided to try creating Laravel for the Go ecosystem.<p>At this point, I just had the following goal:<p>• Be as productive as Laravel in a typed language like Go.<p>I got the first version working in 6 months and tried building a blog from it... It fell flat. You needed to scaffold all these files just to get started. If you&#x27;re coming from Rails or Laravel you may shrug, this is pretty normal. Unfortunately, I&#x27;ve also been spoiled by the renaissance in frontend frameworks like Next.js. What I love about Next is that it starts out barebones and every file you add incrementally enhances your web application. This keeps the initial complexity under control.<p>With these newly discovered constraints, I started working on the next iteration. Bud should:<p>• Generate files only as you need them. Keep these generated files away from your application code and give developers the choice to keep them out of source control.<p>• Feel like using a modern JS framework. This means it should work with modern frontend frameworks like Svelte and React, support live reload and have server-side rendering for better performance and SEO.<p>With these new goals, the Bud you see today started to take shape. But along the way, I discovered a few more project goals:<p>• The framework should be extensible from Day 1. Bud is too ambitious for one person. We&#x27;re going to need an ambitious community behind this framework.<p>• Bud should be able to provide high-level APIs for developers while compiling down to performant low-level Go code for production.<p>• Bud should compile to a single binary. With platforms like Fly.io and Heroku, these days it&#x27;s easy to not care about this, but I still cherish the idea that I can build a single binary that contains my entire web app and secure copy it up to a tiny server that doesn&#x27;t even have Go installed.<p>It&#x27;s still super early days. You can find the the Roadmap on Github: <a href="https:&#x2F;&#x2F;github.com&#x2F;livebud&#x2F;bud&#x2F;discussions&#x2F;9" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;livebud&#x2F;bud&#x2F;discussions&#x2F;9</a>. I encourage you to contribute your thoughts.<p>And here&#x27;s the current documentation for what&#x27;s already in Bud: <a href="https:&#x2F;&#x2F;denim-cub-301.notion.site&#x2F;Hey-Bud-4d81622cc49942f9917c5033e5205c69" rel="nofollow">https:&#x2F;&#x2F;denim-cub-301.notion.site&#x2F;Hey-Bud-4d81622cc49942f991...</a>. Comments are enabled for anyone to chime in.<p>I have big plans for the framework. I hope you&#x27;ll join me on this journey to build ambitious websites faster with Go!
Upvote: