My AI Coding Stack: A Practical Guide to Using ChatGPT, Cursor, Claude Code, and Lovable
AI Coding

My AI Coding Stack: A Practical Guide to Using ChatGPT, Cursor, Claude Code, and Lovable

An evolving, practical AI coding stack — ChatGPT, Cursor, Claude Code, and Lovable — updated with how I now default to the Claude Code CLI, route Opus, Sonnet, and GPT to different jobs, and why I dropped Fable.

· 8 min read
The Skill That Stops Claude From Forgetting Your Tasks
AI Coding

The Skill That Stops Claude From Forgetting Your Tasks

A new skill that turns a raw, unstructured brain-dump into a forced checklist of tasks for Claude — and makes it report back exactly what it did.

· 5 min read
Please Stop Comparing LLMs With One-Shot Prompts
AI Takes

Please Stop Comparing LLMs With One-Shot Prompts

One-shot prompt comparisons between LLMs are everywhere right now, and they're useless. The problem isn't the model — it's that nobody bothered to write a spec.

· 2 min read
Fable vs. Opus: My Token-Budget Verdict
AI Coding

Fable vs. Opus: My Token-Budget Verdict

I burned through two paid Max accounts in three days switching to Fable. Here's why I went back to Opus, and where Sonnet actually wins.

· 3 min read
Write Your Acceptance Criteria Before You Let AI Touch the Code
AI Coding

Write Your Acceptance Criteria Before You Let AI Touch the Code

A short AI-coding tip: write your acceptance criteria and tests during the plan, before any code gets written — so you never miss a requirement, and AI can test itself.

· 1 min read
Let AI Test Its Own Work: A UAT Loop With Claude Code and Playwright
AI Coding

Let AI Test Its Own Work: A UAT Loop With Claude Code and Playwright

The practice I use to have Claude Code test its own work with a UAT file, Playwright, and per-persona .env credentials — then ask it to fix what it finds and retest, almost on its own.

· 7 min read
One Database, One Repo: Why Multi-Repo Hurts AI Coding
AI Coding

One Database, One Repo: Why Multi-Repo Hurts AI Coding

A multi-repo split I made for scalability reasons turned into duplicated code and handover files. My rule now: one database, one repo, period.

· 2 min read
Stop Prompting in English If It's Not Your Language
AI Coding

Stop Prompting in English If It's Not Your Language

Prompting an LLM in English when it's not your native language adds a translation layer between your thinking and the model — switch to your own language and that layer disappears.

· 1 min read
Sometimes You Need to Let Them Go (And Sometimes You Need to Let Yourself Go)
Careers

Sometimes You Need to Let Them Go (And Sometimes You Need to Let Yourself Go)

Personal reflections on letting people go, being let go, and knowing when to leave a company yourself, drawn from the author's PM career.

· 3 min read
What If AI Sat in the Middle of Every Conversation?
AI Takes

What If AI Sat in the Middle of Every Conversation?

A WhatsApp voice message and an old failed startup called Alfred got me thinking: what if AI sat between every sender and every receiver, translating each message into the style the other person actually wants?

· 5 min read
If You Want to Ride the Horse, You Need to Speak Its Language: A Non-Engineer's Survival Guide to Git and GitHub
AI Coding

If You Want to Ride the Horse, You Need to Speak Its Language: A Non-Engineer's Survival Guide to Git and GitHub

A plain-language glossary and workflow guide to Git and GitHub for non-developers using AI coding tools.

· 8 min read
GSD (Get Shit Done): The Framework That Changed How I Build Serious Software With AI
AI Coding

GSD (Get Shit Done): The Framework That Changed How I Build Serious Software With AI

A deep dive into the GSD plugin for structuring multi-phase software projects with LLMs, from planning to autonomous execution and testing.

· 8 min read