Back to WorkIzzi Design System: Bookshelf, Playground, and Authoring built on one shared foundation

Izzi Design System

One design system, three Izzi products, two very different visual languages.

SERVICES
Design system, Product design
CLIENT
Izzi Digital
TIMELINE
2.5 years
PLATFORMS
Web, Multi-product suite

01 CONTEXT

A suite without a backbone

Izzi is the digital learning suite from Profil Klett, one of the largest educational publishers in the region. Three products sit under it: Bookshelf for grades 5 and up, Playground for grades 1 through 4, and Authoring, where editorial teams produce the content behind both.

Izzi brought us in to lead product design across the suite. Three products were growing in parallel with no shared design language and no shared library, and the brief was to connect them. Over two and a half years we built the system that did.

Screens from across the Izzi suite, stacked: Bookshelf, Playground, and Authoring

02 PROBLEM

No gaps to build in

Design systems get built in the gaps between product work. Izzi didn't have those gaps anymore. Three products were shipping in parallel, and three realities made waiting untenable.

  1. Files outpacing their owners

    Multi-year accumulation across rotating designers and external agencies. Styleguides got started and abandoned, components duplicated faster than anyone could deduplicate. No one could explain the whole picture anymore, and the documentation described a version of the product that no longer shipped.

  2. Components that didn't flex

    Most components had no auto-layout, no properties, no responsive behaviour. Breakpoints varied across modules, and layouts broke the moment a screen size changed. A button needed a new variant for every state, size, and product. Every change was a project.

  3. Two products drifting apart

    Bookshelf and Playground served similar functions for different age groups, and their visual languages had drifted in opposite directions, one clean and minimal, the other hand-illustrated and interactive. The contrast was a strength. With no shared spine underneath, every component was being built twice.

03 WORK

A system that bent without breaking

The work moved through four stages, in order: audit, foundation, components, divergence. The audit named what existed, the foundation gave the system structure, each product's components got rebuilt to flex on top, and the divergence let Bookshelf and Playground stay themselves without forking the foundation.

STAGE 01

Auditing the entire suite

The first stretch was an audit: every product file, every abandoned styleguide, every component that called itself a master. Buttons defined four ways. Search bars defined three. Three ramps for the same brand colour, all named Primary. The audit produced one document describing the suite's whole surface area, including everything that had to go.

Same component, defined three times. Same colour, defined three times. The audit cataloged it all.
Same component, defined three times. Same colour, defined three times. The audit cataloged it all.

STAGE 02

One foundation, three product libraries

Three weeks pouring global tokens into a single file: colour, type, spacing, effects, motion. From that source, three product libraries branch off, each inheriting the same primitives and layering its own patterns on top. A token change at the root propagates to all three. LEGO sets with shared studs, built for different things.

Global tokens at the source, three product libraries inheriting downstream.
Global tokens at the source, three product libraries inheriting downstream.

STAGE 03

Components built to flex

Once the chaos was named, the components got rebuilt. Each product's library got its own set, built with the same techniques: auto-layout, constraints, slots, instance swap, and property models deep enough that one base component could absorb every state, size, theme, and role its product needed. Without that depth, the system would have been a styleguide with a token sheet.

Bookshelf's Primary Brand and Unit Tile components, with their property panels exposed.
Bookshelf's Primary Brand and Unit Tile components, with their property panels exposed.

STAGE 04

One foundation, two languages

Bookshelf serves grades 5 and up, Playground grades 1 through 4. Same underlying functions, dramatically different surfaces. Each got its own component library, so Bookshelf's primary button and Playground's are different components entirely. What they shared was the foundation: the same colour ramps, type scale, spacing primitives, and the same patterns for how components were structured. The components diverged. The system underneath stayed shared.

Bookshelf (left) and Playground (right). Different components per product, same tokens and patterns underneath.
Bookshelf (left) and Playground (right). Different components per product, same tokens and patterns underneath.

04 DECISIONS

The two contested calls

Most of the design work was technical. These two calls were about priorities and risk.

CALL 01

Pour the foundation first

The visible-progress route was building one product library first: pick Bookshelf, ship a quick win, let stakeholders see the system arriving. The slower route was three weeks on global tokens before any library got built.

WHAT WE CHOSE

Tokens first. Three weeks with nothing demo-able at the end. Every library that followed inherited the same primitives, so a single token change rippled across the suite. Building the first library on hand-tuned values would have cost more to untangle later.

TRADE-OFF

Three weeks looking unproductive from outside the design team, with no product output to show. Worth defending: every week saved later on a colour rename or scale tweak paid that loan back many times over.

CALL 02

Let the surfaces diverge

The natural temptation with a design system is to homogenize, picking one direction and lining the products up behind it. The harder route was letting each product stay itself and forcing the consistency underneath, where the user couldn't see it.

WHAT WE CHOSE

Diverge on the surface, share the foundation. Same tokens, same patterns for building components, while each product's actual components stayed its own. That separation is what let each product keep its character.

TRADE-OFF

Harder to defend at first glance, because stakeholders looking for visible coherence don't see it. The system's point is token reuse across products, component reuse within each, and predictable maintenance everywhere, all of it underneath the skin regardless of how different the skin looks.

05 OUTCOME

What shipped

All three Izzi products run on the same design system. Each keeps its own component library, built on the same patterns and pulling from the same primitives. Designers and engineers reach for tokens by the same names across the whole suite.

One lesson carried forward: make the invisible work legible early. Three weeks of tokens with nothing to demo, and coherence deliberately hidden underneath the surface, both read as slow from outside. Showing the payoff sooner would have spent less goodwill along the way.

3
products on one systemBookshelf, Playground, and Authoring, each with its own component library, all sharing a global token foundation.
30%
faster delivery, on averageOnce the libraries were in use, design-to-handoff time dropped by roughly a third on comparable feature work.
1
shared foundationOne token source of colour, type, spacing, and motion feeding three separate product libraries.
2.5y
from audit to shippedFrom the first file audit to the system running across all three products.

Check out more work

GOT SOMETHING IN MIND?

Let's build something
that will last.