Skip to main content

Speed comes from removing the unnecessary,
not from rushing the necessary.

design philosophy_

My workflow has one goal: as few steps as possible between a problem and a decision. I sketch before I prototype, research before I wireframe, and write before I polish. Every step has to earn its place, and anything that doesn't move the product forward gets cut.

RESEARCH FIRSTTESTED WITH USERSVISUAL SYSTEMSACCESSIBLE BY DEFAULTMEASURABLE OUTCOMESSHIPS IN CODE
Brand Design
Visual Identity
UX / UI Consultation
Design Systems
Prototyping
Web / Mobile Apps
Landing Pages

The tools, rhythm, and principles behind how I work

Hover over any tool to see when and how it fits.

Figma · FigJam · Make

DESIGN + SYSTEMS

VS Code

FRONT-END + CODE

Claude + MCPs

CORE WORKFLOW

Maze

RESEARCH + TESTING

Notion

DOCUMENTATION

Git / Vercel

DEPLOY + REVIEW

The rest of my stack


sprint rhythm_

A week in my workflow

Not every project follows this exactly, but the rhythm holds.

MON

Align & plan

Review sprint goals, reread research notes from the previous week, sync with the team. Write a rough brief before touching any design file. Surface risks early, before they cost a sprint.

NOTIONCLAUDE
TUE

Concept & structure

Stitch for IA sketches and early flows. Sometimes generate an HTML preview to align with engineering before I open Figma. Gets the interaction model right first.

NOTIONFIGJAMPEN AND PAPER
WED

Design & system work

Deep Figma sessions. Token audits, component states, pattern consistency. If something doesn't fit the system, I fix the system before I ship the exception.

FIGMAADOBE SUITESPLINE
THU

Prototype & validate

Build interactive prototypes, test with real users or internal stakeholders. Deploy to Vercel for async review. No meeting required to get feedback.

FIGMAMAZEGIT/VERCEL
FRI

Handoff & document

Write the dev handoff spec. Document decisions, not just outcomes. Capture what changed and why so the next sprint starts with context, not confusion.

NOTIONCLAUDEGIT/VERCEL

principles_

How I think about work

What I default to, and what I never compromise on.

01

Scope what's out, not just what's in

A sprint brief that only lists what's being built invites scope creep. I write down what we're explicitly not touching this cycle, and why.

02

Deploy before demo

Feedback on a Figma file is feedback on a Figma file. I push to a live preview before showing anyone, so the reaction is to the real thing.

03

One decision, one place

If a call only exists in a Slack thread or someone's memory, it didn't happen. Every decision gets written down where the next person building on it will actually look.

04

Async by default, meetings by exception

Reviews happen on a deployed link with written comments. A live meeting is reserved for something that genuinely needs a conversation, not a status update.

05

Every exception gets logged, not just patched

When a screen needs to break the system, that's not a quiet one-off. It's a ticket, so the system either absorbs it next cycle or the exception stays visible.

06

AI handles research and docs, never the design itself

Claude and MCPs speed up synthesis, notes, and specs - the parts that are about words, not pixels. Every interface, flow, and visual decision stays mine, start to finish.

07

The retro happens even when nothing broke

A clean sprint still gets fifteen minutes of what I'd do differently. Postmortems aren't just for fires.


Does this way of working click?Let's talk about your project.