Skip to main content
Writing

Things I've written

I write about design engineering, UX research, design systems, accessible React, and AI-integrated product design.


Aug 16, 20268 min read

The Accessibility Tax You Pay Later Is Always Higher

Retrofitting WCAG compliance into a 2-year-old codebase costs 10x what building it in from the start would have. Here's what that debt actually looks like.

accessibilityWCAGReactdesign engineering
Read more
Jul 1, 202611 min read

Agent Skills, Prompt Injection Defense, and What Developers Found

Curated index of 1,497+ real-world AI agent skills from Anthropic, Figma, Vercel, and 110+ contributors, plus prompt injection defense patterns.

Claude CodeAI workflowagent skillsprompt injection
Read more
Jul 1, 20267 min read

The Prompt Library That Stops You Starting From Scratch

prompts.chat has 164,000 GitHub stars and 108,000 community prompts. Here's how to use it in a real workflow — browsing, CLI, MCP, and self-hosting for privacy.

prompt engineeringAI workflowClaudeChatGPT
Read more
Jun 30, 20269 min read

Motion Is Not Delight. It Is State.

Animation communicates status, causality, priority, and trust — not decoration. A practitioner's guide to treating motion as UX infrastructure, not polish.

motionUXanimationdesign systems
Read more
Jun 15, 20266 min read

Node.js APIs Are Part of the Interface

API shape determines frontend states, loading behavior, and error copy before a line of UI code is written. The interface starts at the endpoint.

Node.jsAPI designUX engineeringfull-stack
Read more
May 20, 20267 min read

The Design Token Spec Is Finally Real. Now What?

DTCG 2025.10 is stable, Style Dictionary v4 supports it, and Figma Variables can export to it. Here's what actually changed and what still requires judgment.

design tokensDTCGStyle Dictionarydesign systems
Read more
71 articles
Jun 13, 20275 min read

The Best AI Workflow Still Ends With a Human Review

AI gets a lot right. It also misses things a human catches in 30 seconds — edge cases from domain knowledge, whether the solution actually solves the problem.

ai-workflowcode-reviewagentshuman-review
Read more
Jun 6, 20275 min read

Agents Should Show Their Work, Not Their Chain of Thought

Chain-of-thought traces are often wrong. Real transparency means showing the files read, commands run, and decisions made — not the reasoning monologue.

agentstransparencyclaude-codeai-tools
Read more
May 30, 20275 min read

The Screenshot Is the Missing Test for AI-Generated UI

AI code can pass unit tests while producing visually broken UI. Visual regression testing closes the gap — here's how to wire it into an AI coding workflow.

testingvisual-regressionplaywrightai-tools
Read more
May 23, 20275 min read

Context Engineering Is Just Information Architecture With Consequences

What you put in an LLM's context window is information architecture. The same principles apply — priority, grouping, hierarchy — but the stakes are higher.

context-engineeringllmpromptinginformation-architecture
Read more
May 16, 20275 min read

A Skill Is Better Than a Prompt When the Work Repeats

When to encode a task as a Claude Code skill versus writing a prompt each time — and how to write a skill that actually holds up.

claude-codeskillsai-toolsworkflow
Read more
May 9, 20275 min read

AI Coding Agents Need Threat Models Too

Prompt injection, credential exposure, supply chain risk, scope creep — security considerations for AI coding agents and the specific mitigations that work.

securityai-agentsclaude-codethreat-model
Read more
May 2, 20275 min read

The Agent Permission Model I Want in Every Coding Tool

What Claude Code's permission system gets right, what granular agent permissions should look like, and why ask-everything vs full-autonomy is a false choice.

claude-codeagentspermissionsai-tools
Read more
Apr 25, 20275 min read

MCP Is Boring in the Best Possible Way

The Model Context Protocol is infrastructure that works by not being interesting. It solves real problems without drama, and that's exactly why it matters.

mcpllmagentsai
Read more
Apr 18, 20275 min read

Motion Graphics Made Me Suspicious of Pretty UI

What a background in After Effects and broadcast production teaches about product animation — and why most UI motion is noise.

animationmotion-designafter-effectsframer-motion
Read more
Apr 11, 20275 min read

The Interface Should Tell You What Just Happened

Feedback patterns in UI — how interfaces communicate the result of user actions, when toasts fail, and what to use instead.

feedbackux-patternstoastsreact
Read more
Apr 4, 20275 min read

Scroll Animation Is Usually a Content Problem

Scroll-triggered animation often hides weak content. Before adding another reveal animation, ask whether the content actually earns it.

scroll animationperformanceUXmotion
Read more
Mar 28, 20275 min read

Microinteractions Should Have a Job Description

Microinteractions that communicate state earn their place. Ones that exist purely for feel are noise. Ask: what does this communicate, to whom, and when?

microinteractionsanimationUXdesign-engineering
Read more