writing.
Notes, essays, build logs — work-in-progress thoughts, written in plain text and read in any font.
autoAlpha: 0 Hides the Element. Not the LCP Clock.
Traced a 2-second LCP render delay to GSAP hiding my hero subheading before animating it in. The fix was simpler than I wanted it to be.
I Was Fetching Full Post Bodies Just to Count Words
My /writing archive was 3s slow because it fetched every post's full content to compute word count on every request. Denormalization fixed it.
My Homepage Ranked Fine. My Other Pages Didn't Exist.
Two URL prefixes for desktop and mobile, zero canonical tags — and Google had no idea which version of my pages was the real one.
I Matched by Title. I Forgot to Check the Description.
I built a git-style diff for resume reviews and shipped it. Then code review found that I was matching items by name without ever checking content.
Raw SQL, Ghost Posts, and Why APIs Aren't Optional
I used raw SQL to publish a blog post. It went live. Then it vanished from my admin panel and I learned how Payload actually works.