Build in the Open is a 14-part series on taking a software project from a blank idea all the way to a public release — using GitHub and Claude Code — one stage per post. Each part teaches a technique you can apply to any project in any language, then shows how the open-source GopherTrunk scanner does it for real, so every lesson comes with a concrete worked example you can copy.
New to the project? Grab a build from the downloads page and follow along, or read the GopherTrunk README to see the patterns in their natural habitat.<ol class="post-list series-list"><li class="post-card"> <h2 class="post-card__title">Build in the Open, Part 1: Picking What to Build — How Pros Decide</h2> <p class="post-card__meta"> Tutorials </p><p class="post-card__desc">How experienced developers choose what software to build — validating demand, scoping a first version, and avoiding the build-trap, with GopherTrunk as a worked example.</p></li><li class="post-card"> <h2 class="post-card__title">Build in the Open, Part 2: Choosing Your Language, Platforms & Tech Stack</h2> <p class="post-card__meta"> Tutorials </p><p class="post-card__desc">How to choose a programming language and tech stack — let your constraints (platforms, performance, distribution, team skills) decide, with GopherTrunk as a worked example.</p></li><li class="post-card"> <h2 class="post-card__title">Build in the Open, Part 3: Brainstorming Features with Claude & Writing the README as Your Roadmap</h2> <p class="post-card__meta"> Tutorials </p><p class="post-card__desc">How to research a domain and brainstorm features with Claude Code, then write a README that doubles as a living roadmap — plus what CLAUDE.md is for.</p></li><li class="post-card"> <h2 class="post-card__title">Build in the Open, Part 4: Git & GitHub Fundamentals (Using the Web Interface)</h2> <p class="post-card__meta"> Tutorials </p><p class="post-card__desc">A beginner’s Git mental model — commits, branches, remotes, the staging area — and how to create a repo, edit files, and open your first pull request entirely in the GitHub web UI.</p></li><li class="post-card"> <h2 class="post-card__title">Build in the Open, Part 5: Branching & the Three Ways to Merge to Main</h2> <p class="post-card__meta"> Tutorials </p><p class="post-card__desc">How to use Git branches and pick the right GitHub merge strategy — merge commit, squash & merge, or rebase & merge — with a clear “use this when” for each.</p></li><li class="post-card"> <h2 class="post-card__title">Build in the Open, Part 6: Planning & Tracking Work — and Inviting Contributors</h2> <p class="post-card__meta"> Tutorials </p><p class="post-card__desc">How to plan work with GitHub Issues, labels, milestones, and Projects, link issues to PRs, and onboard contributors with CONTRIBUTING, templates, and roles.</p></li><li class="post-card"> <h2 class="post-card__title">Build in the Open, Part 7: GitHub Actions — Which Workflows to Create and Why</h2> <p class="post-card__meta"> Tutorials </p><p class="post-card__desc">Which GitHub Actions workflows most projects need — CI, security scanning, release automation, docs build, scheduled jobs — and how to gate merges with them.</p></li><li class="post-card"> <h2 class="post-card__title">Build in the Open, Part 8: Testing — How to Build and Write Tests</h2> <p class="post-card__meta"> Tutorials </p><p class="post-card__desc">How to test software well — the testing pyramid, table-driven tests, golden files, race detection, coverage limits, and writing tests with Claude Code.</p></li><li class="post-card"> <h2 class="post-card__title">Build in the Open, Part 9: Documentation Done Right — What Lives Where</h2> <p class="post-card__meta"> Tutorials </p><p class="post-card__desc">How to organize project documentation — README, CONTRIBUTING, SECURITY, CHANGELOG, in-repo docs — using the Diátaxis framework so docs are findable and don’t rot.</p></li><li class="post-card"> <h2 class="post-card__title">Build in the Open, Part 10: Websites, Support Pages & GitHub Pages</h2> <p class="post-card__meta"> Tutorials </p><p class="post-card__desc">How to give a project a free website — enabling GitHub Pages, a Jekyll static site, a custom domain via CNAME, support and sponsor pages, and a drip-released blog.</p></li><li class="post-card"> <h2 class="post-card__title">Build in the Open, Part 11: Releases — Cadence, Pre-Release vs. Release, SemVer & Changelogs</h2> <p class="post-card__meta"> Tutorials </p><p class="post-card__desc">How to ship software releases the right way — Semantic Versioning, pre-releases, git tags, Keep a Changelog notes, and automated, checksummed builds.</p></li><li class="post-card"> <h2 class="post-card__title">Build in the Open, Part 12: Optimizing & Securing Your Repository</h2> <p class="post-card__meta"> Tutorials </p><p class="post-card__desc">How to make your GitHub repo discoverable and safe — About box, badges, branch protection, secret scanning, Dependabot, SECURITY.md, and least-privilege tokens.</p></li></ol><p class="blog-feed-link"> See all tutorials or subscribe via RSS. </p>