Your Lighthouse score is lying to you
Lighthouse runs in a simulated environment that doesn't reflect what real users see. Here's what to measure instead, and why CrUX should be your source of truth.
Practical writing on performance, security, AI-generated code, and shipping the web
Lighthouse runs in a simulated environment that doesn't reflect what real users see. Here's what to measure instead, and why CrUX should be your source of truth.
A practical, ordered checklist for tracking down LCP, INP, and CLS regressions before they hurt your search rankings.
131 real engineering checks for your website. Ship fast, fix everything else.
Most pre-commit hooks just run a formatter and call it done. Here's the setup I use, and why each piece earns its place.
After auditing codebases that lean heavily on Cursor, Claude Code, and Copilot, the bugs aren't random. The same five categories show up over and over.
Every dev has their own checklist. Mine got long. Here it is, in the order I actually run it.
I've shipped a lot of side projects. Most got abandoned. A few turned into businesses. The stack you pick at the start matters more than people think, but probably not for the reasons you think.
A Content Security Policy is meant to stop XSS. Most CSPs in production are ornamental. Here's how to figure out if yours actually works.
Dependabot has been around for years. So has Renovate. Both are fine. Both miss the actual problem: nobody knows whether to update.
Every cookie banner you've ever clicked is a fiction. Yours probably is too. Here's how to do this properly, or skip it entirely.
The standard advice is: put your linter, your tests, your security scans in CI. I disagree. Local-first is better for everything except the build itself.