I’m a generalist with a love for learning about and using new technology. For 30+ years I’ve been building software and in the last 20+ years have started and sold many internet companies.
I still don’t know what my life’s work is or if it even exists. I just build tools that I need, explore my curiosity, share what I learn and try to have fun and enjoy the process.
I write about SEO, business, and how to ship products with AI that have craft, quality, minimalism and simplicity at their core.
Ian's List
Join 15k+ subscribers
Posts
2026
Use public carrier data for a freight risk tool
Clean and enrich data before publishing SEO pages
Weigh paid backlinks against the risk of a penalty
Ask Claude to remove mannered prose
Run Ahrefs reports with Codex and Chrome
Speed up programmatic SEO with Astro incremental builds
Plan and review with GPT, build with Composer
Give your personal agent reliable local tools
Override Codex and Claude Code system prompts
Plan parallel builds with Claude agent teams
Scan installed agent skills for security risks
Limit agent-written files with a LOC linter
Get a URL as Markdown
Use Cloudflare workers for secure access
Find and install agent skills from the CLI
Fix Codex issues with Opus
Clone a repo into separate folders for parallel agents
Steer Codex while it is still working
Improve AI loop with simple iteration
Move PHP sites to Cloudflare with Codex
2025
Keep programmatic pages indexed by making them useful
Give the next agent context from your session log
Build one feature at a time with AI
Ask GPT to finish each step without stopping
Use a few agents at a time
What the Codex performance report found
Force Codex to ask for permission in sandbox
Review Git changes and security with Droid subagents
Improve Codex CLI conversations with a global prompt
Give agents unfinished functions and TODO comments
Break an AI loop by comparing five refactors
Give coding agents files and reference links
Set the thinking budget in Factory CLI
Turn off thinking in Claude Code with /t
Approve agent sudo commands with Touch ID
Use code comments as prompts for Claude
Remove filler from Claude with output filters
Use deepseek in Claude Code
Resume Codex session from latest jsonl file
Use GPT-5 for coding with clear instructions
Give Claude more context as your codebase grows
Use the Claude Code status line
Set up a custom Claude Code output style
Switch to Sonnet 1M context in Claude Code
Track Claude Code token use with ccusage
Manage Claude tasks with three slash commands
Put CLAUDE.md rules in each relevant directory
Stop Claude from overengineering with a prompt
Use subagents for research that returns a short summary
A planning and context checklist for Claude Code
Give Claude an OpenAI CLI for code research
Set default tool permissions in Claude Code
Run Kimi K2 in the Claude Code terminal
Fork Claude conversations and undo changes with ccundo
Compare Grok and Opus for coding tasks
Build a Grok CLI for Claude Code planning
Give coding agents one part of the plan at a time
Run Bash commands before Claude Code tasks
Plan tasks with an ultrathink slash command
Keep Claude in the project working directory
Research code with Gemini before using Claude
Ask Claude to write its own worktree rules
Run long tasks in the background with Claude Code
Run Claude Code in a Docker sandbox
Track dev sessions with Claude slash commands
Ask ChatGPT to quiz you about a problem
Run security and UI audits with Claude subagents
Share Cursor rules with Claude Code
Reverse engineer Cursor API calls
Improve Claude Code prompts with a simple phrase
Automate content creation with AI agents
AI fluency cheat sheet
Vibe code best practices checklist
Improve prompts without losing your intent
Organize Windsurf rules into subfolders
Inside the Codex-1 system prompt
Group Cursor rules into folders
Make your site easier to find through ChatGPT
Earn X payouts by starting real conversations
Return structured JSON from MCP servers
Test CSR and SSR versions of the same site
Turn finished features into Cursor rules
Find project weak spots and turn them into rules
Why Lovable rendering needs an SEO check
Summarize a conversation with a detailed analysis
How I built an MCP directory with AI agents
Collect original data for AI-built directories
Four documents for an AI coding memory bank
Stop overengineering with a concise prompt
Plan with Sonnet and build with Gemini
Switch to Gemini when Sonnet gets stuck
Make Cursor read an ignored rules file
Plan Claude Code tasks with a simple prompt
Create a product requirements document with AI
2024
Add a calculator to programmatic SEO pages
Publish SEO pages quickly for indexing
Build programmatic SEO content with data
Have Cursor plan and create your folder structure
Create a gumroad clone with Claude Code
Build complex Cursor apps from feature plans
Seven smaller programmatic SEO sites to learn from
How Photo AI builds category landing pages for search
Handle keyword overlap and indexing on large sites
Build car safety pages with the NHTSA API
Start a programmatic SEO portfolio on aged domains
2023
Build a bulk indexing tool in Python
Write more around keywords you already rank for
Find niche sites in search results
Build topical authority with data, AI and internal links
Create images from a dataset with Canva
Focus SEO work on keywords, content and links
How SongBPM gets traffic from long-tail searches
Turn SEO traffic into an audience for digital products
Build affiliate reviews from product data
Build a programmatic SEO business from keyword patterns
An SEO checklist in thirteen steps
Make it easy for visitors to quote or link back to you
Find keyword ideas in the Google Trends newsletter
Set up data-driven pages in WordPress
Programmatic SEO mini course
Find long-tail queries with Search Console regex
Build a search resource from sports team colours
How Encyclopedia.com scales with licensed content
Recover traffic after a website migration