What Is GEO And Why Your Website Needs It In 2026
→
SEO was for ranking in search results. GEO is for being understood by AI. Here is why that shift matters for your website in 2026 and what to do first.
The Scroll-Driven CSS Animation I’m Most Proud Of (After 4 Rewrites)
→
I built a scroll-driven CSS animation that took four full rewrites before it stopped fighting me. This is the build log, including the ugly parts and the final clean setup.
From Zero To Indexed: How Long My Self‑Hosted Ghost Blog Took To Rank
→
I launched a self-hosted Ghost blog on a fresh domain and tracked everything. Here is the real timeline from “hello world” to first Google impressions and clicks.
My Anti-GTD Todoist Setup: Flat, Fast, and Review-Free
→
How I run client work, side projects, and life in Todoist without GTD, weekly reviews, or nested hierarchies. A flat, fast setup that survives real work instead of theory.
Keeping Fit At 56: Why 70% Effort Beats 100% Hero Workouts
→
At 56 I stopped chasing soreness and started chasing repeatability. Three sessions at 70% beat five at 100% if you actually want to stay strong for decades.
My Exact OpenAI Prompt For Blog Posts That Don’t Sound Like AI
→
After three months of abusing GPT to write my blog, I ended up with a very opinionated system prompt. Here is the exact prompt, the banned phrases, the structure rules, and what actually mattered.
CSS Container Queries In Production: Where They Shine And Where Media Queries Still Win
→
I refactored a real production project from media queries to container queries. This is what actually changed, what stayed the same, and where each approach still wins.
Building A Personal Metrics Dashboard With Vanilla JS And CSS Grid
→
How I built a fast personal metrics dashboard with vanilla JS, CSS Grid, and localStorage. No frameworks, no build tools, just browser-native tech that I actually use.
Stop Asking. Start Delegating: How I Actually Use AI On My Site
→
AI is not a smarter Google. It is a delegation tool. This is how I rebuilt parts of my site around that idea and shipped six AI gallery pages.
How I Run a U12 Baseball Practice With 19 Kids (And Keep Them Focused)
→
How I structure a 90-minute U12 baseball practice for 19 kids and two assistants without losing my mind. The same attention and feedback tricks I use in code reviews now live on a dusty infield.
CSS :has() Selector: The Layout Trick I Wish I Knew 5 Years Ago
→
I ignored the CSS :has() selector for too long. Here is how it quietly removed a chunk of my JavaScript and made a few real production interfaces easier to ship.