PR-Level AI Agents: Copilot, Claude, and Gemini in Your GitHub Workflow
Extending my AI coding workflow with GitHub PR agents. When to use @copilot vs @claude vs @gemini, and how they fit into a multi-layer development stack.
Thoughts on web development, JavaScript, performance optimization, and building products.
Extending my AI coding workflow with GitHub PR agents. When to use @copilot vs @claude vs @gemini, and how they fit into a multi-layer development stack.
The middle layer of AI coding tools. Inline completions, agent panels, and external agents like Claude Code running inside your editor.
How to run OpenClaw on a DigitalOcean VPS, lock it down with Tailscale, and sync everything to Obsidian with Syncthing.
That quick fix from two years ago is now costing you hours every week. Here's how technical debt accumulates and when it makes sense to pay it down.
Most lead gen sites are slow, confusing, or ask for too much too soon. Here's what makes the difference between a site that generates leads and one that just exists.
Questions to ask, red flags to watch for, and how to tell if someone actually knows what they're doing. A practical guide from the other side of the table.
That 6-second load time isn't just annoying - it's costing you customers. Here's what's actually wrong with most WordPress sites and how to fix it.
My actual workflow with AI pair programming. Custom skills, autonomous agents, and the specific ways Claude Code has changed how I work.
How I combine Obsidian for knowledge capture with Claude Code for automation. The note structure, AI integration, and workflows that actually stick.
Cloudflare now lets you block AI bots like GPTBot, ClaudeBot, and others from scraping your site. Here's how it works and whether it actually matters.
Shipping 5MB images to production? I've been there. Learn how to optimize images properly and why it matters more than you think for web performance.
Stop building pages from scratch. Component-driven development changed how I build UIs - here's why it works and how to get started.
I've shipped features fast only to struggle understanding my own code months later. Here's what I've learned about building frontend applications you'll actually enjoy maintaining.
Remember having one massive styles.css file for an entire site? I don't miss that. Here's how CSS styling has changed and what I actually use now.
The worst performance culprits? Unoptimized images, bloated JavaScript bundles, and poor asset loading. Here's what actually makes a difference.
I've worked on projects with hundreds of custom CSS classes like .helper-12 and .util-spacing-3. Can you guess what they do? Neither could I.
I once spent two hours debugging why 'node' wouldn't run after installing it. Turns out my PATH was broken. Here's what I wish I'd known about shell configuration.
Most web traffic is mobile now, but I still see projects building desktop-first. Here's why that approach kills performance.
I spent three days fighting a webpack config file. Here's why I switched to Vite and esbuild, and why you should consider it too.
How to get axios to work with nuxt.js. Configure proxy settings when trying make axios requests in Nuxt.
How to add images to Nuxt Content blog posts using @nuxt/image for automatic optimization and lazy loading.
Slow sites kill conversions. Here's what happens when users wait too long for your pages to load, and why page speed should be your top priority.
Every site owner thinks their site is fast enough. Then users bounce after 3 seconds. Here's what actually moves the needle on performance.
I once spent an entire remote workday doing almost nothing productive. That's when I learned remote work requires a completely different approach to time management.