Skip to main content

Tailwind sucks

· 3 min read

I've been doing a lot of vibe coding, and my particular tools of choice include v0.dev (as a Vercelvercel Vercel is a cloud platform for frontend developers. It is used to deploy and host websites and web applications. fanboy). By default, v0 will use tailwind for styling. This means I've been using Tailwind for the first time, and... I hate it.

Imperfect AI is perfect

· 3 min read

In a recent piece, I made the case that we should stop trying to build "perfect" AI. That imperfection is not a failure mode — it's intrinsic to how these systems work. Here, I want to go one step further: not just to excuse AI's flaws, but to explore how we can use them. How we can design with imperfection in mind.

Inferential vs explicit logic

· 2 min read

In software engineering, complexity often masquerades as sophistication. Nowhere is this clearer than in frontend code that relies on inferential logic: the practice of deducing user intent or state based on limited information, rather than explicitly guiding the user experience.

AI is not a hammer

· 2 min read

We seem to have stumbled into a strange contradiction: we demand perfection from our machines, while tolerating imperfection from ourselves. The same people who chuckle at human error in the workplace will denounce AI systems for the slightest misstep. "It hallucinated a fact!" Yes. And you never have?