SPH Media

Luna is SPH Media's unified design system — a single source of truth built to power every publication, product, and platform across Singapore's largest media group. Serving readers in English, Chinese, Malay, and Tamil across The Straits Times, The Business Times, Lianhe Zaobao, Berita Harian, Tamil Murasu, and more, Luna establishes a consistent visual language, a shared component library of 400+ elements, and a token-first architecture that lets each publication express its own brand identity without fragmenting the underlying system. It is the foundation on which SPH's digital future is being built.

SPH Media

Luna is SPH Media's unified design system — a single source of truth built to power every publication, product, and platform across Singapore's largest media group. Serving readers in English, Chinese, Malay, and Tamil across The Straits Times, The Business Times, Lianhe Zaobao, Berita Harian, Tamil Murasu, and more, Luna establishes a consistent visual language, a shared component library of 400+ elements, and a token-first architecture that lets each publication express its own brand identity without fragmenting the underlying system. It is the foundation on which SPH's digital future is being built.

The Challenge

Each of SPH's publications operated with its own isolated design language, component library, and codebase — creating duplicated effort, inconsistent user experiences, and accessibility gaps that were impossible to enforce at scale. Teams were rebuilding the same components from scratch for every feature, onboarding new products took weeks of design groundwork, and serving content across five languages — English, Chinese, Malay, and Tamil — added significant typographic complexity. The core tension was clear: how do you build one system for eight distinct publication brands without erasing any of them?

The Solution

Luna is a token-first design system with a two-tier architecture: global tokens define every raw value; semantic tokens map those values to intent. This separation means any publication can apply its own theme layer without touching component structure or behaviour. Luna was built on a token-first, two-tier architecture: global tokens hold every raw value; semantic tokens map them to intent — giving each publication a theming layer that overrides brand colours and type without touching a single component. A perceptually uniform OKLCH colour system with pre-validated APCA contrast values eliminated manual accessibility checks, while Source Sans 3 provided multi-script coverage across English, Chinese, Malay, and Tamil. The result was a library of 400+ fully-documented components — each with complete state coverage, responsive behaviour, and accessibility annotations — governed by a contribution model that turned publication brand teams from sceptics into advocates.

Join the party

Your product deserves more than "good enough." I bring 12+ years of design leadership to help you ship faster, scale smarter, and win users for life.

Join the party

Your product deserves more than "good enough." I bring 12+ years of design leadership to help you ship faster, scale smarter, and win users for life.