Chegg · Horizon Design System

Using a rebrand to raise the quality bar across Chegg’s product

I proposed Horizon, got it funded, and led the team that turned Chegg’s new brand into one product language for 7.8M subscribers. Then I built the quality bar into the system, so teams could meet it without me in every critique.

Role
Senior Product Design Manager, also acting PM for the system
Team
4 product designers, content design, research, accessibility, and 4 engineers
Partners
6 product squads, brand and marketing, the brand agency, and engineering leads
When
2021–2023
Horizon’s building blocks working together: cards, modals, buttons, icons, notifications, form fields, chips, tabs and illustration. Components recreated from the Horizon library, alongside a later Chegg solution page built on the system.

The outcome

One product language, with quality built in by default

82%design system adoption, measured in Figma, in Storybook and with product teams
83%fewer accessibility issues with WCAG-compliant components
41%less design time for product teams
30%faster engineering development cycles

Where it landed

Horizon became the foundation of a company-level Product Quality OKR, and Chegg’s 2025 brand guidelines still build on it.

01 · The challenge

More students than ever, and a product that looked different on every page

During the pandemic, Chegg’s usage rose 35%. Students came to us at their most stressed and found a playful brand, three versions of the logo, and pages that each looked like a different site. Fanta, the old system, had been built for a simpler product, and its legacy code blocked newer React components.

Then Chegg relaunched its brand as Horizon. The default plan was to put the new colors on Fanta’s parts.

“It feels like I’m on different websites. I wouldn’t trust this website because it looks unprofessional.”

Neesa, student, in user testing. 25% of participants were confused by Chegg’s inconsistent visuals.

Before Horizon: Chegg product and marketing pages with inconsistent styles under the Fanta system
Before: Fanta-era product and marketing pages.

02 · The insight

A rebrand is the one time a company lets you revisit old decisions instead of restyling them.

If we only changed the colors, we’d lock Fanta’s problems in under a new name. So my call was: don’t reskin Fanta. Rethink the system underneath it, and raise the quality bar across the product.

03 · My approach

Lead the brand through the product, not after it

Brand refreshes usually start in marketing and reach product last, as a reskin. We reversed that: every brand decision had to work in the product before it shipped.

01

Make the system the anchor of the refresh

With no creative director, we brought in a brand agency. My team was the product voice, the agency the brand voice, and the system was where they met. I critiqued the agency’s work with my team so accessibility and quality held.

02

Win over the skeptic

Chegg’s President pushed back on a dedicated system. I walked him through mismatched screens, which I called a “Frankensite,” and the drop-off data behind them. He later used “Frankensite” at a company all-hands, and I got the team: an engineering lead, headcount and roadmap space.

03

Run both sides of the loop

I led the system team and the product teams using it, so I saw where Horizon broke in real work: apply, learn, critique, evolve.

A quality bar the team could critique against

Keep approachable. Sharpen clarity and hierarchy. Evolve from playful to purposeful. Build in quality by default. When a design felt off, we could name what it missed instead of debating taste.

04 · Leading through disagreement

From “Andrew’s colors” vs. “Tal’s colors” to one palette

Color was the biggest point of contention on my team. Tal and Andrew each explored a direction, with files saved under their own names. Reviews became debates, and I was becoming the tie breaker.

Recreated Figma file named Andrew’s color direction: warm browns, mustard, rust and Chegg orange pulled from marketing photography, applied to a retro study card and banner
Andrew: warm tones pulled from marketing photography. Warm student photos and modern icons, but still a slightly dated, retro feel.
Recreated Figma scratch pad named Tal’s color direction: many variations of lavender, mint, peach, butter, sky and blush pastels paired with orange
Tal: pastels that muted the old brights and kept the fun energy.

What I did

Neither direction was wrong, but we needed one. When the agency joined, they were reshooting all the photography, so the images Andrew’s palette came from were going away. I used that moment to reset: I asked Tal and Andrew to take their names off the files and build one direction together. It wasn’t mine vs. yours; it was what’s best for the brand and the student. I kept us anchored to the persona, and we validated choices with marketing, product designers and students.

Horizon color page: Orange 800 and Violet 700 as core colors, neutrals, and expressive ramps including Walnut and Solar from Andrew’s warmth and light tints from Tal’s pastels
The shared result in Horizon: Andrew’s warmth lives on in Walnut and Solar, and Tal’s light tints carry the fun into supporting moments. Exploration screens recreated for illustration.

05 · Critique on a real screen

Four calls to action on one page, then one rule for every team

By 2023, teams across Chegg were shipping banners on their own. On the Q&A answer page, where students arrive stressed and short on time, four calls to action sat above the answer. I reviewed the live page with my team and named what each one was doing to the student.

Live Q&A page with four stacked banners and four competing calls to action, annotated with four critique notes: limit banners to one at a time, create guidelines in Horizon, avoid multiple primary actions per section, and limit product callouts in the right rail
Before: my critique of the live page. The question sat below the fold.

The critique

Partnerships, Marketing Ops and the Q&A team were competing for the same space, each for a different goal, and nobody owned the whole screen. Some banners were static images that screen readers couldn’t read.

My call: fix it in the system, not just on this page.

The rules

We audited 16 live banners and defined six message types, each with a job, a location and a limit.

The key limit: one section or inline banner per screen. Confirmations became toasts, and promos share one slot.

Guidelines for global, section and inline banners, each with a placement diagram and a per-viewport limit
From the Horizon notification guidelines: every banner type has a place and a limit.
The same Q&A page following the rules: one dismissible banner at the top, the question and step-by-step solution above the fold, one action in the right rail, and the confirmation as a toast
After: the same page with the rules applied. Recreated from the guidelines, not a production screenshot.
3×banner click-through, from 3% to 9%
5% → 12%banner conversion rate
6 weeksfrom audit to launch, Q2 2023

Why it held

Fewer messages made each one work harder. A roadshow, accessibility training for Marketing Ops, and a pre-launch quality review kept new banners on the rules.

06 · Inside the system: tokens and theming

Built for themes from day one

My team pushed for a semantic token layer and built it side by side with engineering. We set shared rules for type, color and spacing, then turned them into tokens named by their job, like primary.dark or error.light, never raw colors. That one decision let a single system carry two very different experiences, and teams pulled from the system instead of building one-off components.

Diagram: color primitives map to semantic tokens such as primary.dark and error.light, which components use; signed-out and signed-in type themes side by side
Recreated from the Horizon token and typography specs.

Why signed-in got its own theme

Signed out, Chegg is persuading: big, Heavy headlines win attention. Signed in, a student is working through a hard problem, often for a long time. The same weight there competes with the content and adds strain. So the signed-in theme drops to Bold and caps headlines at 32px, while marketing keeps its volume.

Signed-out homepage with a large headline and one orange Join now button
Signed out: bold type and one orange action.
Signed-in home focused on the student’s question
Signed in: the page is about the student’s question.
Checkout page with a neutral payment form and a clear subscription summary
Checkout: neutral, with the price stated plainly.

07 · Inside the system: accessibility

Accessibility built into the names, not checked at the end

Students come to Chegg stuck or studying for a test, so simple and easy to read is the job, and accessibility is part of that. We also had real accessibility gaps across the product, and real legal risk.

Grey scale 000 to 950 grouped as Light, Medium and Dark, with contrast ratios against white and the rule that any Dark tone passes AA on any Light tone
Contrast ratios calculated from Horizon’s grey scale.

What I pushed on

I proposed naming every tone Light, Medium or Dark, so the name tells you if a pairing is safe: any Dark tone passes AA on any Light one. Swap the roles and the rule still holds, which set us up for dark mode and future themes. Chegg orange got the same treatment: orange text only on white.

Accessibility audit findings by topic, severity and owner, with what changed in Horizon, and a five-step path from making the case to funding an accessibility role
Audit topics and severities from the Horizon library; layout recreated.

Making the case

I put a dollar value on the legal risk, paired it with the student experience, and got the C-suite to make accessibility a priority through the system. Then I brought in an external audit.

What changed: fixes went into tokens, components and rules, not page by page.

Making it last

Every accessibility question across brand and product came to me. I made the case to the VP of Product for Chegg’s first accessibility program manager, built the role, and hired Karen Herr.

What changed: accessibility had an owner across the whole site, and 83% fewer accessibility issues.

08 · Inside the system: content

Words are part of the design

With Content Design, we wrote the wording rules into the component pages themselves, so teams got them by default.

Do: Update your payment method by August 30. Don’t: Your payment is going to fail.
Inform, don’t alarm. Lead with the date and the fix, not the failure.
Do: Explore all Chemistry flashcards. Don’t: See all Chemistry flashcards.
Inclusive by default. “Explore,” not “See,” so it works for blind and low-vision students.

09 · Inside the system: patterns

Patterns came from real product problems

Horizon’s patterns weren’t designed in a vacuum. In onboarding, a critique note, “the stepper gives no sense of completion,” became the system’s rule to show progress as text: “Step 1 of 3.” Screen readers can read it, and students know where they are.

The redesigned onboarding flow drove 7× more students adding courses.

Read the onboarding story
Onboarding callout component annotated with six decisions
The onboarding callout in Horizon. Decisions from its spec; layout recreated.

10 · The hard part

Adoption was slow, so I made quality a company goal

Leadership backed the system, but migrating wasn’t on product teams’ roadmaps. The hardest pushback came from one team whose PM and engineers had no room for it. I helped them with the work and tied it to the Product Quality roadmap. Once it was on their list, they took it on, and their PM became the product partner on the Horizon release.

Start where it matters

Highest-traffic screens first, with a component roadmap built with 6 product managers.

Make my team the experts

Roadshows, Figma workshops and accessibility lunch-and-learns, led by my designers.

Tie it to the business

With the VP of Product, I proposed a new Product Quality OKR. Adopting Horizon became how teams met it.

Product quality pyramid: usable, useful, habit forming and life changing, with a goal to reach usable by H1 2023
The Product Quality pyramid, with the first goal set for H1 2023.

11 · Raising the bar

Great craft shouldn’t depend on me being in every critique

First-time roles

I hired Chegg’s first dedicated design system designers, a design system content designer, and its first accessibility program manager.

What changed: accessibility and content quality had owners, not just guidelines.

Visual Specialists

I started as the designer doing visual reviews across the org. As I moved into leadership, I trained five designers to take them over, with office hours, feedback tracked in Figma, and before-and-afters to show progress.

What changed: visual quality stopped depending on my calendar.

Principles as questions

I brought together designers from across disciplines for a short series of workshops, and we defined six UX principles, each written as questions any reviewer could ask, like “Are the elements on the page useful or distracting?”

What changed: the design org aligned on direction, and critique decisions rested on shared judgement, not one reviewer’s taste.

Shared ownership

I set up an ownership model with a lead from design, content, accessibility and engineering. Decisions about the system had a home that wasn’t just me.

What changed: the system kept pace with what product teams needed, and kept evolving after launch.

Growing the people

I coached Tal Ben-Meir, then a senior designer, through the Horizon roadshow presentations. We wrote the scripts and rehearsed together until Tal ran them alone.

What changed: Tal was promoted to Lead Product Designer.

“Working on our design system was such a rewarding experience that taught me the true value of collaboration and a user-centered approach.”

Tal Ben-Meir, Lead Product Designer · Chegg

The team: Tal Ben-Meir, Andrew Denaro, Kaitlyn and Yuval (product design), Rachel Brown (content design), Annabelle (research), Karen (accessibility), a contract illustrator, and engineers Vinsly, Pankaj and Alon, with Gary Yip as product partner.

12 · How it evolved

The system kept raising the bar

Horizon was never finished. Because I led both the product teams and the design system team, they worked as one loop, and each release raised the floor for the next. The same thinking carried into Chegg’s 2025 brand guidelines.

01

Product teams surfaced the need

Designers on Q&A, checkout and onboarding brought real student problems, with research behind them.

02

The system team made it a pattern

What worked in one flow became a component, a token or a content rule for everyone.

03

Every team got the upgrade

The next project started from a better default: the volume dial, one orange action, and quieter learning pages.

Earlier Horizon work, then the evolved versions built on the system

The Q&A solution page in the early Horizon era, next to the evolved version with clear Question and Solution sections
The Q&A solution page: early Horizon (left), evolved on the system (right).
Signed-out homepage in the early Horizon era next to the evolved version with a bold orange hero
Signed-out homepage: still loud where it asks for attention.
Post-subscription modal with confetti next to the evolved version with one illustration and a dark button
After subscribing: less celebration, more reassurance, one action.

13 · What I learned

One lesson, and what I’d do differently

A design system is half design and half people. Connecting UX, marketing and engineering mattered as much as getting the palette right.

Restraint is a brand decision

On a learning page, the most on-brand move is to get out of the student’s way.

What I’d do differently

Notice when I’m the bottleneck sooner

Every accessibility question came to me, and work waited. That led to Chegg’s first accessibility role. Now I watch for where I’ve become the only path, and build the role or the rule sooner.

I’d also bring the teams with the least room to migrate into the adoption plan before launch, instead of winning them over after.