back

field notes · 2026-08-20 · 2 min

The only designer, and I shipped the code too

Being the only designer on a four-person team — collaborating on the codebase in Claude Code and GitHub, off a brand system built in Figma.

The Arloa brand system — the source of the styling and color used in the codebase

I was the only designer on a four-person team, and I didn't hand the design off — I collaborated on the codebase itself, in Claude Code and GitHub, with the contextual styling and color informed by a fully responsive brand system I developed in Figma.

That's the part that usually gets described as "engineering handoff," and it isn't what happened.

Being small meant more control, not less

Being a small team meant fast iteration and more control over each feature. We didn't have to stop marketing, or any of the day to day, in order to also ship code — around the clock, merging PRs and running UX reviews.

We did all of it. Including testing with people in our own lives who fit the target audience.

The Arloa brand system
The responsive brand system built in Figma — the source of the styling and color that went into the codebase

The brand system in Figma wasn't a deliverable that got thrown over a wall and then reinterpreted by someone else. It was the source the code read from. Same system, same tokens, same decisions — which is why the styling stayed contextual instead of drifting every time a feature shipped.

The Arloa app dashboard
The product, built off the same system

The same system ran the content too

I also automated blog posts, website, and email content using that same design system — Claude Code writing the content and the HTML that handled delivery.

That last part matters more than it sounds. It wasn't just generated copy. It was the copy and the markup that actually shipped it, built off the same brand system the product used, so the email and the app didn't look like two different companies.

The newsletter system
Email content and the HTML that delivered it, generated off the same design system

Then PostHog to track user behavior, and SendGrid analytics going directly to Claude agents — so what people actually did came back into the loop instead of sitting in a dashboard nobody opened.

The human loop isn't a safety net, it's the method

The brand voice layer was a human loop. I'd review the content before it went out, steering the agent's rules file to make sure it was always accurate.

That's not something I bolted on for this project. The human loop is part of my design methods throughout everything I do — always exploring the strengths of different models and providers, and keeping a person in the path where the output actually matters.

The generation was never the hard problem. Keeping it accurate and in voice was, and what solved that wasn't a better prompt. It was a person reading the output before it shipped, and turning what they caught into a rule the agent had to follow next time.

share