The Goldilocks tooling zone



This content originally appeared on Go Make Things and was authored by Go Make Things

I have a strong nostalgia for the web of yesteryear.

I love how weird the web was, and I miss the simplicity of opening up a text editor, checking the file in a browser, and then dropping it on on a server with FTP and instantly seeing my changes live on the web.

But… there’s no world where I’d want that to be my everyday flow in 2025.

I don’t want to handwrite dozens or hundreds of HTML files. I don’t want to manually test every page or component to make sure nothing breaks. I don’t want to rely on my silly meat brain to catch every typo or low-hanging bug.

And as nostalgic as it is, I don’t want to manually drag-and-drop files through an FTP client to “go live.”

I also don’t want to have to run npm update every few days and constantly manage packages and dependency trees.

At some point, the tooling becomes more work than it saves.

A big part of my consulting work is helping clients find that right mix, that Goldilocks Zone where the tooling is helpful without getting in the way (too much).

It varies from project-to-project, of course, but here’s roughly my ideal setup…

  • A static site generator (SSG) that serves mostly HTML, enhanced with Web Components.
  • Vanilla CSS customized with variables/custom properties (--color-text).
  • Let the SSG load modular CSS and JS as needed (maybe everything on every page, maybe only certain things on certain pages). Hugo, 11ty, Astro, and more all have mechanisms for doing this easily.
  • Playwright for testing, using a TDD approach. Only test the user/developer-facing surface areas, not implementation details.
  • Biome for linting, and maybe formatting, mostly with the default settings. Enable an IDE extension for live-linting as you type.
  • JSDoc for in-code documentation.
  • No typescript files, but use it with JSDoc to typecheck plain old JS files. You can have it live typecheck in your IDE, which is really helpful!
  • An LSP extension for Sublime, VSCode, or your text editor of choice.

Basically, I want to keep the command-line processes as lean as possible, and shift a lot of the tooling into the text editor itself where it nudges me in the right direction in real time as I code.

If you want help finding the right mix for your project, or overhauling a legacy project that’s giving you a hard time, get in touch. I have some availability starting in October.

Like this? A Lean Web Club membership is the best way to support my work and help me create more free content.


This content originally appeared on Go Make Things and was authored by Go Make Things