June 9, 2026

Glue code, but make it messy

Biff.core: system composition for Clojure web apps

A niche coding update turned into an AI-vs-clean-code identity crisis

TLDR: Biff’s creator released a new core library meant to make web app setup cleaner and easier to reuse. But the community instantly made it about a bigger anxiety: if AI already nudges coders toward faster, messier workflows, does elegant software design still matter as much?

A small software update just sparked big “what are we even doing anymore?” energy. The creator of Biff, a toolkit for building web apps in the Clojure programming language, announced that its first newly split-out library, biff.core, is ready. In plain English: they’re taking the messy glue code that used to live in every app and turning it into a reusable piece, so people can add features without copying and pasting giant chunks of setup. The pitch is simple: cleaner app structure, less boilerplate, fewer headaches.

But the real fireworks came from the community mood, which swerved almost instantly into AI angst, code aesthetics, and solo-dev survival tactics. The standout reaction wasn’t “wow, neat library design” so much as: okay, but can artificial intelligence write this stuff better than humans yet? One commenter basically summed up the vibe of the modern coder meltdown: they used to love hand-writing style sheets, then Claude pushed them into Tailwind, a utility-first styling system many people describe as ugly-but-effective “class soup.” That confession landed like a meme and a therapy session at once.

The hottest underlying take? If AI is best at quick one-person projects and prototypes, is that also where tools like this shine most? That turned a quiet release into a mini culture-war moment: craftsmanship versus convenience, elegance versus speed, and the eternal developer nightmare of loving clean code while being seduced by whatever gets the job done faster. Even this library’s tidy, polished vision got reframed through that lens: not just “does it work,” but “will humans still care how it works if the bots can assemble it anyway?”

Key Points

  • The author has split Biff into twelve separate libraries and released the first one, `biff.core`.
  • `biff.core` is presented as the library that provides system composition and interfaces that connect other Biff libraries.
  • The library introduces `init functions`, which take modules and return a map to merge into the system map, reducing the need for copied boilerplate.
  • To preserve late binding and reload behavior, init functions receive a var for the modules vector, and live-updated system entries should be represented as functions.
  • The author keeps components separate from modules rather than adding lifecycle dependency management into modules, favoring explicit ordering of startup functions.

Hottest takes

"whatever the agentic tools are best at is also what's best for solo projects or proof of concepts" — holistio
"Claude is just so much better at Tailwind" — holistio
"I still kind of loathe the class soup" — holistio
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.