Back to Work
07Sportal365
Sports Design System

Acomponentsystempoweringlivesportscontentacross8brandsand8countries.

Sportal365 is the technology platform behind Ringier Sports Media Group — Europe's fastest-growing digital sports media network, home to brands like A Bola (Portugal), Sportal, Sport.ch and GSP.ro. I designed the library of sports widgets — and reimagined the backoffice editors use to compose them — turning complex, real-time sports data into modular components that any brand in the group can theme and any of its 380+ journalists can publish.

RoleProduct Designer · Design System
ScopeWidget Library / Backoffice UX / Multi-brand Theming
vs
Arsenal
Arsenal
Premier League
VS
Tottenham
Premier League
Tottenham
38Played38
28Wins20
5Draws6
5Defeats12
91Goals scored74
29Goals conceded61
89Points66
2Rank4

Head-to-head comparison — pick any two teams.— the same component re-skins per brand, in light & dark.

Open full playground
Overview

Understanding the full picture.

Ringier Sports Media Group runs 8 sports brands across 8 European countries — 23M engaged fans a month, 380+ journalists, and 1,400+ pieces of content published every day. Every brand needs to show the same kinds of things: live scores, lineups, head-to-heads, standings, player stats and odds.

Rather than rebuild those for every brand and every sport, Sportal365 provides them as reusable widgets. My job was to design that widget system — and the editorial experience around it — so one set of components could serve many brands, many sports, and hundreds of non-designer editors.

The result is a library where the same widget renders in any brand's identity, in light or dark, populated with real-time data — and can be dropped into any article by an editor in a couple of clicks.

The System

One library, every sport.

A suite of widgets — head-to-heads, lineups, standings, live scores and more — each designed for football, basketball, tennis and beyond, in light and dark.

Team H2HPlayer H2HLineupsMatch CenterLivescoreStandingsPlayerTop ScorersOddsTimelineTeam SquadKnockout
Explore the live playground
The Challenge
The question

How do you design one system flexible enough for every brand, yet simple enough for every editor?

01Multi-brand

one component, many identities (colours, logos, type), in light and dark

02Multi-sport

football, basketball, tennis and more, each with different data and layouts

03Editor-friendly

380+ journalists compose with these widgets, so they had to be foolproof

04Real-time

every widget is populated with live match data, so states and edge cases matter

Deliverables

I designed the full library of sports widgets and every variant, and reimagined the backoffice flows editors use to build and publish content. The system lives in Storybook as the shared source of truth between design and engineering.

01Sports widget library
02Component variants (light + dark)
03Backoffice editorial flows
04Multi-brand theming
05Storybook documentation
Storybook

A single source of truth.

Every widget and variant is documented in Storybook — the shared reference between design and engineering, where each component can be inspected, configured and embedded.

Figma Organisation

Built to scale in Figma.

The library is organised for reuse — components and variants for light and dark, structured so every brand and sport shares the same foundation.

Sportal365 — Widgets · Components
Team H2H/ Light
Arsenal
Arsenal
Premier League
VS
Tottenham Hotspur
Premier League
Tottenham Hotspur
38Played38
28Wins20
5Draws6
5Defeats12
91Goals scored74
29Goals conceded61
89Points66
2Rank5
Team H2H/ Dark
Arsenal
Arsenal
Premier League
VS
Tottenham Hotspur
Premier League
Tottenham Hotspur
38Played38
28Wins20
5Draws6
5Defeats12
91Goals scored74
29Goals conceded61
89Points66
2Rank5
Match Center/ Light
Premier League · 2023/24
Man CityMan City
11
Half-time
LiverpoolLiverpool
Standings/ Dark
#ClubPWDLGDPts
1Manchester CityManchester City382873+6291
2ArsenalArsenal382855+6289
3LiverpoolLiverpool3824104+4582
4TottenhamTottenham3820612+1366
5ChelseaChelsea3818911+1463
6NewcastleNewcastle3818614+2360
Process

From understanding to execution.

01

Designing for many brands at once

Every component had to carry a brand's identity without forking into a dozen copies. I separated what's structural from what's expressive, so a single widget could be skinned per brand.

  • Shared structure, brand-level skinning
  • Light and dark for every component
  • Consistent behaviour across brands
02

Making complex data feel simple

Sports data is dense and real-time. Each widget had to turn a flood of numbers into something a fan can scan in seconds — comparisons, standings, timelines, live states.

  • Clear hierarchy for dense stats
  • Comparison layouts (H2H) that read at a glance
  • Live, loading and empty states designed, not forgotten
03

Designing for the editor, not just the reader

The widgets are only half the story — journalists compose with them in the backoffice. I reworked those flows so inserting and configuring a widget takes a couple of clicks, no design knowledge required.

  • Insert-a-widget flows inside the editor
  • Live preview before publishing
  • Configuration without design decisions
The Backoffice

Where editors compose.

Journalists build articles and live blogs in the backoffice, inserting and configuring widgets in a couple of clicks — no design knowledge required. I reworked these flows so the system is as easy to publish with as it is to look at.

By the Numbers

Powering the network.

The system powers sports content across the entire Ringier Sports Media Group network — and beyond, through Sportal365's external clients. 23M fans a month experience these components every day.

8Brands
8Countries
380+Journalists
1,400+Content / Day
Key Takeaways

Great systems are invisible — they show up as thousands of consistent, on-brand pages published every day by people who never think about the system at all.

01
01

A design system isn't a set of components — it's the agreement that lets a brand, an editor and an engineer all move fast without stepping on each other.

02
02

The hardest constraint wasn't visual, it was human: designing for people who aren't designers.

If an editor can't use it in two clicks, elegance doesn't matter.

03
03

Designing for many brands forces you to separate the essential (structure, behaviour) from the expressive (colour, identity) — that separation is the whole game.