Akash Kumar · akashshivanand

← Work

Tata Neu, 2022 to 2025 · 5 min read

The design system behind Tata Neu's relaunch

One token system for a super app of many brands: four brand modes, dark to light, and every release checked against the build.

Talk about your design system

The 2024 Tata Neu homepage: a hotel banner, search, a BigBasket offer banner, payment actions and category cards.
X-ray

Every colour on this screen is a role from the system. Switch on X-ray, or pick a role.

The Tata Neu homepage from the 2024 design file. Switch on X-ray and every element turns into its colour role.
elements in Design System 1.0
130+plus 30+ widget types, built in 120+ days
brand and theme modes on one colour layer
4Neu dark, Neu light, Croma and BigBasket, on about 140 roles
modules rebuilt on it
9from the homepage to orders, each named for its system version
Google Play rating after the 2023 revamp
3.8 → 4.2as Moneycontrol reported in August 2023; performance work shipped too, so the credit is shared
Role
Senior Product Designer, Tata Digital
Years
On Tata Neu from 2020; the design system from 2022 to 2025
Platforms
The Android and iOS apps and the web app (PWA)

A super app of many brands, running on a design library built for a much smaller app.

Tata Neu puts payments, shopping, travel, food and finance from across the Tata Group behind one login. Each is close to a business of its own, with its own idea of what a button should look like.

People noticed the seams. A first-impression review in April 2022 (opens in new tab) found that each brand had carried its own elements into the app, and the experience felt inconsistent for it.

Underneath sat an agency's library. Its colours were named for their shade, not their job, and one name had already stopped telling the truth: the swatch labelled Tertiary/Red CE0606 held F75F5F. The light theme was a second library file, kept in step by hand.

I had spent two years designing the app's core flows, so I knew where the library broke. In May 2022, five weeks after launch, I started an in-house token system to replace it.

The tertiary colours on the agency library's colour page. The swatch labelled Tertiary/Red CE0606 is ringed: its hex value is F75F5F.Open the whole colour page

The agency library's colour page

The agency library's whole colour page, dark: primary purples, greys named by shade, and tertiary colours.
The agency library's colours, named for their shade. One red is labelled CE0606 and holds F75F5F.

One token layer under every brand and theme. Croma's green and Neu's purple are the same role with a different value.

Every component asks for a role named for its job, such as primary or surface, never for a colour. Brand, theme and screen size are modes on those roles, so one button serves Neu in dark and light, Croma and BigBasket, and the web app gets its larger steps without a second set of components.

Brands first ran on their own copies of the library, and copies drift. Once Figma variables could hold modes, I trialled them on the homepage in January 2024 and brought Croma back into the library as a mode in 2024; BigBasket followed in 2025. Cliq and ONDC stayed copies.

About 140 colour roles sit on more than 300 values. Three decisions shaped it:

  • Tokens, not patches. Patching the agency library would have kept its untrustworthy names and its hand-kept light file, and every new brand would have added another file to keep in step. An off-the-shelf system, even Material 3, would have made the app bend to fit it. A token is defined once, so a change in one place reaches every screen.
  • Two tiers, on purpose. Components ask for roles directly, with no third tier of component tokens. The brands differed in colour, not in shape: a brand changed what primary meant, never what a button was. The day a brand needs a different button is the day to add a component token.
  • Material 3's roles, stretched. Engineers already knew the names, and paired roles made a second theme and contrast checks systematic. Neu needed more: a fourth accent, quaternary, and text in three strengths.

Neu

primary
#8800EC
primary-container
#FBECFF
outline
#78787D

Croma

primary
#088466
primary-container
#CFFFF3
outline
#C5C5C5

BigBasket

primary
#015930
primary-container
#B0CCBF
outline
#78767A
The library's real buttons. Only the mode underneath them changes.

I kept the tokens in a Figma plugin and exported them as JSON for the developers, who mapped them into the Flutter apps. Design and code used the same names for the same values, which is most of what keeps them from drifting apart.

Component
button / filled / large
Part
Role
Neu light
Neu dark
Croma, BigBasket
,
Tap a part of the button to follow it down to the value it ends on.

Every component documented three ways: what it is for, exactly how it is built, and when not to use it.

Each component has an overview, specs with every size and colour as a token name, and guidelines with right and wrong use side by side; 33 of 35 have all three. More than 30 widget types had rules exact enough for merchandising teams to follow without a designer in the room.

I wrote six design principles for it. The one this case study keeps coming back to:

Make the experience accessible to everyone. Respect white space and lower cognitive load.

The button, one part of each page: the types, the specs as token names, and right against wrong.

The screens a team forgets, the empty cart and the dropped connection, were defined once for every module, so none shipped a blank screen. New components went through review, and a changelog recorded every change with its reason.

A screen can be specified perfectly and still ship slightly wrong. So I checked the build against the design, page by page.

For releases 3.5 and 4.1 I compared design and build page by page on Android, iOS and the web app. On the homepage the gap between the payment icons and the NeuPass band was 16 pixels instead of 32, and the band had lost its 1-pixel gradient outline. Each fix went on a dated board and was checked again on the next build.

Design
The homepage as designed for release 3.5: five payment actions in boxes, then the NeuPass band.
Build
The same homepage in a release 3.5 test build: four larger payment icons with no boxes, and the NeuPass band closer to them.
One page of the release 3.5 check: the design against the build, each fix numbered.

Because roles come in pairs, a background and the colour on it, every pair can be measured. All 33 pairs pass WCAG AA in Neu light, Neu dark and BigBasket; Croma passes 30 of 33, and those three are what I would fix first.

  • 33/33Neu light
  • 33/33Neu dark
  • 30/33Croma
  • 33/33BigBasket
The three pairs below AA, all in Croma
PairOnRatio
on-background-low-contrastbackground3.67 needs 4.5
on-surface-low-contrastsurface4.07 needs 4.5
on-tertiarytertiary2.58 needs 4.5
All 33 pairs in four modes
WCAG contrast ratio of each role pair, per mode. 4.5 or more passes AA for text.
PairNeu lightNeu darkCromaBigBasket
inverse-on-background-high-contrast12.7815.8214.0012.42
inverse-on-background-low-contrast7.599.136.617.01
inverse-on-background-mid-contrast10.0214.119.429.42
inverse-on-error7.236.447.237.23
inverse-on-success7.206.427.207.20
inverse-on-surface-variant5.987.575.745.74
inverse-on-tertiary7.666.4313.077.66
inverse-on-warning8.155.468.158.15
on-background-high-contrast17.1112.7815.8217.11
on-background-low-contrast9.137.593.67below AA9.13
on-background-mid-contrast12.4210.026.0812.42
on-error6.447.236.446.44
on-error-container5.6810.0813.245.68
on-neupass-container-elite7.577.087.577.57
on-neupass-container-explorer7.247.147.247.24
on-neupass-container-insider8.857.318.858.85
on-neupass-container-legend6.336.176.336.33
on-primary6.447.714.667.19
on-primary-container8.2613.2316.115.52
on-quaternary6.487.7010.416.48
on-quaternary-container8.2913.2710.728.29
on-secondary6.428.714.914.81
on-secondary-container8.6414.1216.095.99
on-success6.427.206.426.46
on-success-container5.698.845.705.72
on-surface-high-contrast13.168.9311.1513.05
on-surface-low-contrast5.945.034.07below AA5.89
on-surface-mid-contrast8.526.768.448.44
on-surface-variant7.575.987.577.57
on-tertiary6.437.662.58below AA6.43
on-tertiary-container8.1512.1813.308.15
on-warning5.468.155.465.46
on-warning-container5.009.175.004.80
All 33 role pairs in four modes, measured in October 2026 from the library's variables.

The app moved from dark to light in two planned steps, on the same tokens, and every module kept shipping.

Tata Neu launched dark. Dark suits a premium category, light suits reading, and most of Tata Neu is browsing prices, offers and products. The store pages were mapped to light from February 2023. Switching everything in one release would have meant redesigning every module at once while they were all still shipping.

  • The decision. Keep every role and move in stages. Release 4.1, in late 2023, ran dark and light sections side by side on purpose, under rules anyone could check on a QC board: no more than two light widgets in a row, and the footer widget always dark. Because components asked for roles, a section switched theme by switching its mode, with nothing redrawn.
  • What it cost. For a few months the app had two themes on one page, so the rules went on every QC board, not just in the docs.
  • The result. The full light theme shipped in March 2024 on the same roles, and Business Standard reported it (opens in new tab) as a move from black to an all-white background.
The 2024 light homepage: a hotel banner, search, a BigBasket offer banner and payment actions with Offer badges.
The agency-era homepage, 2021 builds: a dark screen with a yellow NeuCoins banner, four payment actions and category tiles.
  1. 2021 buildsThe agency libraryColours named for their shade; the light theme a second file, kept in step by hand.
Each stage from the design file of its time.

Every redesign after 1.0 was built on the system, and the rating rose in the same release.

  • Shipped. Design System 1.0 went out in the IPL 2023 revamp.
  • Adopted. Every module redesign after 1.0 was built on it, from the homepage to orders, and the March 2024 light theme ran on the same roles.
  • Scaled. One library carried four brand modes, the web app's Desktop mode, food delivery on ONDC and the BigBasket integration.
  • Taught. Hands-on sessions in August 2025 brought about 20 to 25 UI and UX designers onto the system.
  • The rating. After the revamp, Moneycontrol reported (opens in new tab) Tata Neu's Google Play rating rising from 3.8 to 4.2. Performance work shipped in the same release, so I don't credit the system alone.

“Our app rating is trending upwards and the UI is getting great user feedback.”

Tata Digital's Head of Design, on LinkedIn, May 2023. The company shared the design system's progress (opens in new tab) the same day.

A system is only as good as how easily teams can ask it for more. I now set that up on day one.

After the 2024 relaunch, requests grew faster than the process could take, so I brought in a request form and one shared tracker. When asking for a component is harder than building your own, teams build their own. So on a new system I start with:

  • Names. A naming grammar written down before the scale, so a name says what a value is for and never what it was.
  • Tokens in code. One source exported to every platform in the design-token format from the W3C community group (opens in new tab), and a contrast check that runs on every change in every mode.
  • Versions. A version number on every release, with a note to developers whenever a name changes or a component is retired.

Work with me on your design system

I set up design systems, and repair ones that have drifted away from the code.

  1. Design system audit

    An inventory of what you have, a token and contrast check in every theme, where design and code have come apart, and a plan in order of what pays back first

    Discuss an audit →
  2. Starter system

    Foundations and tokens, the core components with their documentation, a handoff file developers can build from, and a release check your team can run without me

    Plan your system →
  3. Brands and themes

    A role layer that carries more than one brand or a light and dark theme, and a plan to move your screens onto it without stopping releases

    Discuss a multi-brand system →

Talk about your design system