Skip to content

How I Work with AI

AI isn't a novelty in my workflow — it's the infrastructure. I use Claude Code as a daily development partner, connected to my real tools, learning from every session.

DailyClaude Code usage
36+Cross-session lessons logged
6MCP integrations
This siteBuilt with AI

Overview

Most designers talk about AI as a future possibility. I use it every day as a core part of how I design and build. Over the past year, I've developed a practice around Claude Code that goes beyond prompting — it's a full working environment with persistent context, connected tools, and a self-improving feedback loop.

This page documents that practice: what my setup looks like, how it connects to my real work tools, and what I've learned about where AI genuinely helps versus where human judgment is irreplaceable.

The Setup

My primary tool is Claude Code — Anthropic's CLI for Claude that runs in the terminal alongside my editor. It reads files, writes code, runs commands, and maintains context across conversations.

Every project has a CLAUDE.md file that acts as persistent memory — project structure, conventions, known gotchas, and current state. When I start a session, Claude reads this context and picks up where we left off. No re-explaining, no lost context.

I've configured custom skills (reusable prompt templates), hooks (automated actions on tool use), and session workflows that reduce the friction of switching between projects. The goal is a working environment where AI handles the scaffolding so I can focus on design decisions.

MCP Integrations

The Model Context Protocol (MCP) lets Claude connect directly to external services. I've wired up six integrations that give Claude access to my actual work tools:

  • TodoistTask management — Claude can read, create, and organize my tasks across projects
  • LinearEngineering tickets — pull assigned issues, check sprint status, update ticket states
  • SlackTeam communication — search messages, catch up on threads I've missed
  • NotionDocumentation — search and read team docs, product specs, and meeting notes
  • FigmaDesign files — read design context, extract component specs, bridge design to code
  • GmailEmail — search and read messages for context during triage

This isn't theoretical — I use these daily for morning triage, pulling together context from Slack threads + Linear tickets + Notion docs into a single conversation. It eliminates the tab-switching that fragments attention.

Self-Improving System

The most unusual part of my setup is that it learns from mistakes. I maintain a lessons.md file — a running log of rules generated from real errors. When something goes wrong in a session, I write a rule to prevent it from happening again.

After 36+ logged lessons, the system catches patterns I used to repeat: not checking the backend before summarizing frontend findings, over-engineering simple fixes, forgetting to commit before risky changes. Each rule is one line, tied to a specific failure.

Cross-session memory means Claude starts each conversation already knowing my project conventions, past decisions, and common pitfalls. It's not perfect, but it's measurably better than starting from scratch every time — and it compounds over weeks.

Building Real Software

This portfolio site is the clearest example. It's a Next.js 14 app with Tailwind, Framer Motion animations, MDX content, and custom interactive components — built collaboratively with Claude Code across dozens of sessions.

That includes the scroll-triggered animations, the theme palette system with 10 color schemes, the Perlin noise background texture, the case study TOC navigation, and the card/list view toggle. I designed each of these, then built them with AI as a development partner.

Beyond the portfolio, I've used this workflow to prototype features at work, build internal tools, and contribute code changes that would normally require an engineering partner. As a designer who can ship code with AI assistance, I move faster from concept to implementation.

The key insight: AI doesn't replace the design thinking. It removes the friction between having an idea and seeing it built. I still make every design decision — layout, typography, interaction patterns, information hierarchy. AI handles the implementation mechanics.

What I've Learned

Where AI helps most

Scaffolding and boilerplate, debugging and tracing errors, exploring unfamiliar codebases, translating design decisions into code, automating repetitive workflows, and maintaining context across long-running projects.

Where human judgment is irreplaceable

Taste, prioritization, knowing what to cut, understanding user psychology, navigating ambiguity, making tradeoffs between competing goals, and deciding when something is good enough to ship.

The compound effect

The biggest value isn't any single interaction — it's the accumulation. Persistent context means each session builds on the last. Logged lessons mean the same mistakes don't repeat. Connected tools mean less time gathering context and more time making decisions. It's a practice, not a prompt.