← All articles
Design Notes · 13 May 2026 · 6 min read

A Useful Design System for Small Teams

Most small teams hear "you need a design system" and quietly panic. The advice usually arrives in a deck shaped for a company with thirty designers, a token pipeline, a F…

Six-place studio table using one compact tray of shared type, colour and component samples

Most small teams hear "you need a design system" and quietly panic. The advice usually arrives in a deck shaped for a company with thirty designers, a token pipeline, a Figma library, and a person whose entire job is to keep the library tidy. For a team of six, that is not a system. That is a second job nobody asked for.

There is a smaller, more useful version that fits a small studio, a small product team, or a small in-house design and dev function. It is not less serious. It is just shaped to its size.

We run on one. The site you are reading was built on it. Around forty-four components, a single CSS file of design tokens, no separate library to maintain. It earns its place because it is short on purpose. Everything in it solves a real, repeated problem. Everything not in it stays out.

This piece is about what is actually worth defining when the team is small, what is worth leaving fluid, and why the cost of an unused component is higher than the cost of a missing one.

What a six-person team needs

A design system at this size is mostly a short list of decisions you do not want to make again. That is the test for whether something belongs in it.

Colour is the clearest example. Pick a background, a foreground, three accents, a strong line, a faint line, and a warning. Lock those. Now nobody on the team has to think about which violet to use in a new section, or whether the warning state should be amber or red. The decision is already made.

Type is the next one. A heading scale, a body scale, a line-height rule for paragraphs, a single rule for caps and tracking on the small labels above headings. Now a new page does not start with "what size should this heading be?" It starts with "what does this section need to say?" That is the move.

Spacing follows. A small set of step values, used everywhere. Not a token for every imaginable gap. Enough rhythm that the team can stop arguing about whether the space above a section heading is 48 pixels or 56, because the system has already chosen.

And one rounded-corner rule. Not three.

That is most of the value. The rest is components, and even then, only a few really earn their place.

What deserves a reusable component

The components a small team should build are the ones that get used in three or four places already, where the markup is almost identical, and where rebuilding it from scratch each time would slowly drift the look of the site.

A button. A card. A section header. A hero shape. A pricing strip. A pull quote. A call-to-action block. The handful of shapes that turn up on most pages.

The components that should not exist yet are the ones imagined for a future where you have ten times the team. A modal that supports five variants. A complex tab system. A timeline that nobody has used. A "flexible" hero with eight props because someone was hedging about future needs.

Anything imagined is a future cost. It will need to be styled, maintained, updated, and remembered. If it is not solving a real problem this week, it is a tax the team pays every time it opens the codebase.

What is worth leaving fluid

Section layout is the obvious one. A six-person team does not need a rigid grid rule for the order of blocks on a page. It needs the freedom to compose a page that fits its message. The system gives the team rhythm. It does not give the team a template.

Illustration is another. Lock the style, the palette, the depth, the atmosphere. Do not lock what each illustration has to contain. A system that prescribes every metaphor is a system that produces stock-feeling pages. Better to write a short note about what the illustration should do for the page, and let the artist work out the rest.

Copy is the third. Voice is a system, but the words on each page should be written for that page. A template that fills in the blank is fine for a CRM. It is not fine for a website that someone will actually read.

A button shows what belongs in the system

Our own kit, built for this site, has roughly forty-four components and a single tokens file. Some are large (a hero, a service grid, a case-study layout). Most are small (a chip, a chevron, a small heading label, a button). All of them are passed their data at the call site. No database, no model layer for content. The data lives in the page that uses the component, so the component stays simple and the page reads top to bottom.

The tokens file holds colours, line and ink shades, spacing steps, type scale, and a few radius values. That is it. There is no separate design library to maintain. The designer and the developer share one source of truth, in the same place the site is actually built.

We have deliberately empty slots. There is no carousel component, because we do not want to use carousels. There is no animated headline component, because animated headlines almost never improve a page. The absences are the system speaking.

The cost of an unused component

The thing nobody warns small teams about is that an unused component costs more than a missing one.

A missing one is a small, visible problem. Someone notices, builds the piece they need, and the team decides whether it earns a slot in the kit. The cost is one afternoon.

An unused component is a slow leak. It has to be touched when tokens change. It clutters the file tree. It tempts a future hire to use it because it is there, even when a fresh piece of markup would have been better. It teaches the team to reach for the kit before the problem.

Small teams who add a component "just in case" often end up with a system that resents them.

Delete components nobody uses

A useful design system at this size needs a delete habit. Twice a year is enough. The questions are simple. Has this component been used in the last six months? Does it still match how we think about the site? If we built it again today, would it look like this?

If the answer is no, delete it. The replacement, if you ever need one, will be better than the version you were carrying.

Add a component only when it repeats

If you are about to commission a design system, ask the team you are hiring how many components they expect to ship in the first version. If the answer is "thirty or forty", treat that as a starting point, not a target. If the answer is "as many as the work actually needs", that is the right answer. If the answer is "a hundred and twenty, with full coverage and a documentation site", and your team is six people, walk away.

A useful small-team design system fits in one CSS file, a small components directory, and a designer's head. Most of the value is the decisions you stop having to make. The rest is restraint.

Occasional updates

One email,
when we publish.

One plain email when a new article is up, nothing else. We'll send one email first to check the address is yours. Every email includes an unsubscribe link.

Free 20-minute call

Recognise your own problem in a piece? Talk it through with us.

Analytics

Can we measure your visit?

Google Analytics helps us understand which pages are useful. It stays off unless you allow it. See our cookie policy for details.