What I've learned shipping things
12 articles across 2 topics. Real lessons, not theory.
Build Notes
Short lessons from real projects: code reviews, audits, AI mistakes, SEO gaps, client work, and shipping decisions. Practical notes for founders and developers who care about what actually breaks.
Every Child of a Product Needs Its Own Moat
Clean content isn't enough. Good SEO isn't enough. Every section of a product needs its own reason to exist that competitors can't replicate.
Claude Design Review: Hands-On Brand Kit and Landing Page Test
I tested Claude Design the night it launched. Brand kit generated from a GitHub repo in 30 minutes, landing page from a prompt, deployed to production same night. Here's what worked and what didn't.
The Deploy Tax: How Cache Clearing Cost Me 30 Minutes a Day
Manual Cloudflare cache purges, slow first-hits, and a zone ID bug I didn't catch for weeks. 50 lines of bash eliminated all of it and added sitemap QA for free.
You Are Invisible to Machines
I ran 5 websites and wrote 58 articles. To every crawler and AI, I didn't exist. Here's the entity coherence audit that fixed it — and a checklist so you can fix yours.
Claude Code
Practical workflows for using Claude Code in real projects: custom skills, audits, fixes, session handoffs, and AI change control. For developers who want AI assistance without losing ownership.
What 17 Retrospectives Taught Me About Coding With AI
I ran a retro after every build for three months. The same three mistakes kept recurring across eight projects, so I stopped writing instructions and started enforcing them.
AI Change Control: The Pre-Commit Hook Framework That Stops Claude Code From Ignoring Your CLAUDE.md
I had a tight CLAUDE.md, custom skills, and preflight checks — and Claude Code still shipped 104 real violations in my own Laravel codebase. Here's the grep-based policy check that caught every one of them.
Building something?
I help founders scope and ship MVPs. Clear scope, real code, fast timeline.
Let's talk