A design system earns its keep when someone outside the design team can build with it.

The stakes

Every page on AudioEye's marketing site was bespoke. Components were hardcoded, so every layout change, every new table, every form was a ticket into marketing engineering. Seven people built pages and none of them could ship one without help.

When our engineering lead, Taylor, surveyed the team, they rated the CMS a 2.75 out of 10 on ease of use and a 2.5 on collaboration, and a single content edit took over seven minutes to go live because the platform rebuilt the entire site to publish it. That's what happens when there's no system underneath the pages.

The bet

Build the components once and make the website an assembly job.

Our product design lead had chosen Joy UI for the platform, so I adopted it on marketing rather than building a separate foundation. The site and the product would look like the same company, and we would maintain one system instead of two. From there my team built out 28 blocks that existed identically in Figma and in the CMS. One kit, two places, so a design and the page that shipped stopped drifting apart.

The platform criteria I brought to the evaluation came straight from that. Could our components be expressed as CMS blocks. Could a block be global, so a button or a logo banner changed in one place instead of forty. Could someone see the page as they built it. Storyblok could. Prismic couldn't.

Specimen of typography, color, and components from a design system
Specimen of typography, color, and components from a design system
Specimen of typography, color, and components from a design system

My role

I directed the team and owned the component system on the design side, the brand refresh that shipped with it, and design's position in the platform decision. Our CMO approved the migration while Taylor owned the engineering rebuild onto Next.js, Turborepo, and Vercel.

2026 Update: The Joy UI foundation we extended here became the basis for AudioEye's product design system. I'm migrating it to Material UI now, as the product outgrew what Joy UI could carry.

The results

28 blocks cover nearly every page on the site today, including forms, tables, navigation, and the 404. Seven people used the CMS and all seven answered the survey, before and after.

Ease of use went from 2.75 to 9.75. Collaboration from 2.5 to 8.25. Customization from 3.5 to 9.25. Overall satisfaction from 3.75 to 9.5. Content now publishes in under 30 seconds instead of seven minutes. Full survey results available on request.


"Being able to quickly make a page that looks good, is accessible, and doesn't require any additional coding or help is incredible."

"I love the global components that only need to be updated in one place."


What I would change

We shipped a site with a lower accessibility score than the one it replaced. Lighthouse accessibility dropped from 88 to 84, caused in part by late homepage animation changes that came from my side. We fixed it after launch, but an accessibility company shouldn't need a post-launch fix to get back to where it started. Late design changes now get the same accessibility gate as everything else.

The brand refresh was a stopgap and I knew it when I shipped it. The migration was the opening, so I took it, and the result was consistency rather than a real identity. We're in the proper refresh now, which means some of that work is being done twice.


Key takeaway

The fastest way to speed up a marketing team is to stop making them ask. That takes a component library, not a better ticket queue.

The team


Strategy & Design Direction

Sojin Rank

UI/UX Designer

Sarah Ippen

Engineering & Platform Rebuild

Taylor Dawson

Project

Migrating a CMS by building the kit first

Company

AudioEye

Role

Director, Brand & Design

Year

The team


Strategy & Design Direction

Sojin Rank

UI/UX Designer

Sarah Ippen

Engineering & Platform Rebuild

Taylor Dawson