← Notes
AIDesign SystemsProcess

Designing the system, directing the agents

How I rebuilt my portfolio with agentic AI. An AI agent can write a component in seconds — it can't decide which component is worth writing, or tell you when the result is almost right but not quite.

19 September 2026

That gap is where I spent most of my time rebuilding this site. In June 2026 I left Squarespace and built my portfolio and its design system from scratch, working with AI agents. Most of the code came from the agents. The planning, direction, review and final decisions were mine. That’s the same work I’ve done as a product designer for more than 12 years.

In short:

Planning before prompting

Before any code was written, three things were in place.

A documented design system. I started in Claude Design, creating a visual identity from my logo, the colors and fonts I chose, the planned structure of the portfolio and a set of references. Once the identity was refined, I used Claude Design to generate a design system from those assets, including written guidelines. Only then did I switch to Claude Code for the implementation. The guidelines cover the visual foundations, such as color, type, spacing, radius, motion and states. They also cover how the brand writes: first person, sentence case, short and concrete. Every later decision was checked against them.

A defined architecture. I decided early how the pieces would connect: the design system and the site as separate public repositories, with changes to the system reaching the site automatically.

A clear structure for the site. Who it’s for (hiring managers, recruiters and other designers), what they need to find, and how the content should be organized so they find it quickly.

With that plan in place, the agents weren’t guessing what to build. They were carrying out defined work against clear criteria.

The design system: ink on paper

The direction was simple on purpose. It’s a cool monochrome palette, with 1px borders instead of shadows and a 2px radius as the only softness. One green accent is held back for live states and key actions. Archivo carries the interface and JetBrains Mono labels everything else. Both are open-source typefaces.

I explored and refined the components in Claude Design. Its React exports weren’t code I’d trust in production, so I kept the tokens as the source of truth and add shared components only when the product needs them. The system is published as its own page on GitHub Pages, documented in the same place it’s versioned.

Two repos, one cascade

Change a token in the design system, and the live site updates on its own. Everything runs on two public GitHub repositories:

The cascade runs in one direction:

  1. A change lands in the ds repo
  2. A GitHub Action fires
  3. Vercel redeploys the portfolio
  4. The build pulls the latest design system
  5. The live site is updated

The goal was fixed from the start. On the first day I compared three ways to connect the repos and kept the one that was simplest and most reliable in production.

Open source and version control

Almost every part of this project is open: Astro, React, the typefaces and my own repositories. Making the work public keeps me accountable. Anyone can read the naming, the structure and the history, so the portfolio shows my process as well as the finished work.

Version control was the backbone of the process. An agent can change twenty files in a few seconds, so every session ended as commits I could read, compare and revert. As the project matured I moved to pull requests, even as the only person working on it. Every change now goes through a deliberate review before it reaches the live site.

From June to September that added up to more than 100 commits to the portfolio and 9 to the design system.

What’s in the site

The site has four main parts, each designed for a different kind of visit:

The Lab holds side projects that don’t fit a case study format but show how I think and build. It’s where I allow myself more playful interactions than anywhere else on the site. About is the opposite: quiet and direct, so people can get a sense of who I am quickly.

My part: direction, revision, copywriting and QA

Product design direction. Each task started with a brief, the same way I’d brief a product team: who it’s for, what problem it solves, what the constraints are, and what “done” means. That’s how the homepage came to feature five curated cases, with one lead case at full width. The same thinking applied to every component:

Revision. I reviewed every output against its source material and the guidelines. When an agent simplified content it shouldn’t have touched, such as the career timeline on the About page, I restored it to match the original. I rebuilt one case study from its source for the same reason.

Copywriting. Every word on the site went through me. The guidelines set the voice, but applying it took work: tightening case study copy so the outcome comes first, and rewriting drafts that sounded polished but generic. For readers, the words are the product as much as the layout is. The hero tagline alone went through more versions than any component.

QA and testing. Quality was defined before execution, in the design system’s guidelines. Every change was reviewed against those criteria through a pull request before it reached the live site. My review covered four areas:

The agents made execution fast. The plan and the review criteria made sure that speed didn’t cost quality.

What I learned along the way

I know the software delivery process well. As a product designer I work alongside agile implementation squads, so releases, pull requests and deployments were familiar. What changed here is that I wasn’t beside the process anymore. I was running it myself, hands on. So along the way I learned more about the parts of front-end development and site management I needed to make it all work, and my skills there grew a lot:

I didn’t set out to become a front-end developer. But doing the work myself, instead of seeing a squad do it, changed how I work. I can now read a diff, spot when a fix is in the wrong place, and talk to engineers in their terms. That makes me a better product designer, with or without AI.

What I’d do differently: learn first how the context window works in agentic AI

If I did this again, I’d keep the plan exactly as it was. What I’d change is how I delivered that plan to the agents.

An agent doesn’t carry your project from one session to the next the way a colleague does. Every session works inside a context window. The files it reads, the instructions it gets and the conversation so far all take up space, and that space costs tokens. My planning was solid, but much of it lived in documents and briefs I passed along session by session. So the agent was often reloading context it had already seen.

Knowing how contextual memory works earlier would have helped me package the plan for the agent as well as for myself:

Planning well is one skill. Packaging that plan so an AI agent can use it efficiently is another, and it’s the one I’d learn first next time. Better context isn’t only cheaper. It gives sharper output and less rework.

Closing thought

AI didn’t replace the design process. It made execution faster and put more weight on everything around it: planning, direction, review and judgment. Those are the skills I use every day as a product designer.

Both repositories are public if you want to see how it’s built: github.com/vgomx/ds and github.com/vgomx/portfolio.

To see more of how I work, take a look at my case studies or the Lab.