Playbook Design System v2 Proposal

Prepared for Playbook  /  25 September 2026  /  Draft for discussion

Summary

Nine operators need Figma files before development can finish for 1 December. Six are light, three are dark. The base light design system is still being built and the base dark one hasn't started.

There are two ways to do this. Route 1 keeps the current setup: every operator gets its own independent copy of the design system. Route 2 puts the existing components onto a layered token structure, so one central library drives every operator through a brand layer and a light/dark theme layer.

Recommendation: Route 2, at four days a week

Route 1 needs 31–46 days (£15,500–£23,000). There are 21–28 working days before the mid-November design deadline, so it cannot finish in time, and every later change has to be made in eleven files. Route 2 needs 22–30 days (£11,000–£15,000), fits the window at four days a week, and leaves one file to maintain afterwards. It also costs less to maintain once live (see value after launch).

All costs are at £500 per day plus VAT.

What the current design system looks like

Measured directly from the base light Figma file on 25 September 2026.

103component sets across 26 pages
566component variants
86%of colour fills linked to variables
558fills with hard-coded colour

The two routes

Route 1: separate files

Finish base light, duplicate it into base dark, then duplicate again into nine independent operator files.

Estimated design days

31–46days

£15,500–£23,000 + VAT

Confidence of finishing by mid-November

Lowat 3 days a week (21 days available) Lowat 4 days a week (28 days available)

Pros

  • No change to how the current files are set up, so there's nothing new for the team or developers to learn
  • Steady output: operators arrive one at a time from week 3
  • Each file can be changed without affecting the others

Cons

  • Doesn't fit the deadline: about five of nine operators ready by mid-November
  • Every fix or redesign has to be made in up to eleven files. This continues after launch, for as long as the platform runs
  • Files drift apart over time, and design and code drift with them
  • Dark theme means relinking components by hand, in four files
  • Operators can't switch between light and dark without a new file

Dependencies

  • Base light signed off and frozen before duplication. Later changes have to be copied by hand
  • Operator brand colours supplied
  • Timely feedback from Playbook
Recommended

Route 2: one central library

The existing components, relinked to a layered token structure: brand, theme and component-level overrides.

Estimated design days

22–30days

£11,000–£15,000 + VAT

Confidence of finishing by mid-November

Medium–highat 3 days a week (21 days available) Highat 4 days a week (28 days available)

Pros

  • Fits the deadline at four days a week
  • A fix is made once and reaches every operator
  • Dark theme comes from the same components, not a separate build
  • Any operator can offer light and dark later, with a small amount of extra development
  • Every future sport is designed once and appears for all operators
  • Once an operator's brand values are in, setting it up is a few mode switches: brand, theme, typography and radius
  • Component names and structure stay the same, so developers see minimal change

Cons

  • Slower start: no operator files until about week 5
  • Depends on the development team agreeing to the approach and having the capacity to adopt it alongside the 1 December build. If they can't, the design-side savings still apply, but the development savings don't
  • A more advanced setup for other designers to learn
  • Any components that need redesigning add time on top
  • Uses all ten brand slots on the current Figma plan (base plus nine operators). An eleventh operator means upgrading the plan

Dependencies

  • Development team agrees the token approach before work starts
  • Current Figma plan (ten modes per collection) stays in place
  • Edit and publish rights on the library file
  • Operator brand colours supplied
  • Timely feedback from Playbook

How the output arrives

Route 2 spends its first four weeks on the library, the dark theme and relinking the components. After that, operators take about a day each. Route 1 starts delivering sooner, but each operator costs two to three days, plus the time spent copying changes between files.

Operators ready per week, Route 1 versus Route 2 At four days a week, Route 2 delivers nothing until week 4, then reaches all nine operators by mid-November. Route 1 starts at week 3 and reaches about five operators by mid-November, finishing around week 9 to 10. 0 3 6 9 Operators ready 1234567891011 Weeks from Monday 28 September Design deadline, mid-Nov Live, 1 Dec Library, dark theme, relinking Route 2 Route 1

Midpoint estimates at four days a week. At three days a week, both lines move right by about a third.

Where the days go

WorkRoute 1Route 2
Clean up base light: hard-coded fills, duplicate variables and components3–4Included in relinking
Token structure: brand layer for nine operators, theme layer, overrides—4–5
Relink all 103 component sets to the new tokens—5–7
Base dark theme6–82–3
Operator files: 9 at 2–3 days (Route 1) or 1–1.5 days (Route 2)18–279–13.5
Copying base changes across files during the build (seven weeks)4–7—
Token handover for developers—2
Total design days31–4622–30
Cost at £500 per day + VAT£15,500–£23,000£11,000–£15,000

Weekly spend is £1,500 at three days a week or £2,000 at four, plus VAT.

How the central library is built

Each layer only refers to the one below it. That's what lets one set of components serve every operator, in light or dark, without copies.

OverridesExceptions for a single operator, for example an operator who wants a different header background from the rest. Empty until someone needs one.
ComponentsButton, odds, market row and so on. These point at roles, never at colours.
ThemeLight and dark. Swaps what each role means, for example a text colour that is dark on light backgrounds and light on dark ones.
BrandThe base brand plus nine operators. Each operator's colours, fonts and logo live here and nowhere else.
PrimitivesThe raw colour values. Hidden, so nobody uses them directly by accident.

Operator screens sit in their own files and use the library. Switching an operator from light to dark is a setting on the file, not a rebuild.

Value after launch

The launch estimate is only part of the picture. The bigger difference is what every change costs once nine operators are live.

After launchRoute 1Route 2
Fixing one componentMade in up to 11 filesMade once
New components or market templatesDesigned once, then copied into 10 more files and checked in each operator's coloursDesigned once, available to every operator
A new operator2–3 days, and every future change now reaches one more fileAdd its brand values, then a few mode switches: brand, theme, typography and radius
Light or dark for an operatorA new fileA setting on the file
ConsistencyFiles drift apart over time, and design and code drift with themOne source. Operators differ only by brand values
DevelopmentEach operator's build is checked against its own fileOperators are checked against one set of components

Where this leads: operator branding as data

Route 2 sets up the ideal long-term workflow. Each operator's brand values (colours, fonts, radius and overrides) are exported from the library as one JSON file per operator. Development points each operator's site at its file. When a brand changes, design updates the library, exports a new file and hands it over. There's no rebuild, and no reading values off a design.

For this to work, three things have to be agreed with development. The token names become a fixed contract, so renaming one needs both teams to agree. Brand files go through a review step before they reach the live site. And this covers brand values only; changes to layout or components still go through the normal design and build process.

If development doesn't adopt the tokens

Route 2 still pays off. The design team maintains one library instead of eleven, and every operator file shows the exact values for that operator. Development can keep reading the designs the way they do now. Adopting the token names is what brings the development savings, but it isn't required to start.

Route 2 plan

  1. Agree the approach with developmentWeek 1. One session to confirm how themes are built in code and match the tokens to it.
  2. Set up the token structureWeeks 1–2. Brand, theme and override layers. The current 32 colours mapped to their roles.
  3. Relink the componentsWeeks 2–4. Fix the 558 hard-coded fills, merge duplicates, and check every component set in light and dark.
  4. Build the operator filesWeeks 5–7. Adapt each operator's colours to the new roles, starting with proper.bet as the reference.
  5. Hand overWeek 7. Token documentation for developers, plus a guide for adding future operators.

Decisions needed to start

  1. Which route, and at three or four days a week.
  2. A session with development in week 1 to go through the questions below.
  3. All nine operators' current brand colours, fonts and logos.
  4. Who signs off the library and each operator file on Playbook's side.

Questions for development

The live site is built with Emotion, a styling library usually paired with React. It has no CSS variables, so its colours appear to come from a theme set in code, but the structure of that theme can't be seen from outside. Before committing to Route 2, we need answers to these.

  1. Is there one theme per operator in code? If so, what are its keys, and could we see one?
  2. Do you use design tokens or variables exported from Figma, or build by reading the designs?
  3. How much work would it be to map the new token names onto your theme keys?
  4. Is supporting light and dark for the same operator possible later, and roughly how much extra work would it be?
  5. Which transparency steps should be correct: the ones in code or the ones in the design file?
  6. Could each operator's theme load from a JSON file supplied by design? What format would you need?

What this estimate assumes

Aperture Sightaperturesight.com