Skip to content

area · Frontend

Interfaces that scale across brands

Next.js App Router and React in production: a white-label portal serving 3 brands from a single codebase, with design tokens, i18n at scale and in-house testing infrastructure.

  • 3-layer tokens: changing a brand's color is a ~11-line diff
  • Atomic library shared by 2 web apps and a React Native app
  • React to Next.js migration of a production app
  • next.js
  • react
  • typescript
  • tailwind
  • vitest
  • playwright

measured impact · before → after

  • Test suite−30%

    255 s → 178 s

◆ TokenPlayground

A new brand is a configuration change

Pick a brand or move the hue: the components on the right only read semantic tokens, so they re-theme without touching their code. It is the same 3-layer model as the real white-label.

1 · brand foundations

brand.hue
75
brand.chroma
0.11
brand.radius
12px

2 · semantic tokens

--demo-action
oklch(0.74 0.11 75)
--demo-action-text
oklch(0.22 0.02 75)
--demo-accent-surface
oklch(0.74 0.11 75 / 0.14)
--demo-accent-text
oklch(0.82 0.11 75)
--demo-accent-text-light
oklch(0.42 0.11 75)

3 · components

Active account

Available balance

$1,250,000

Changing a real brand's primary color is a diff of about 11 lines in its config.

Atomic library

  1. Atoms10

    • Button
    • Icon
    • Badge
    • Input
    • Label
    • Avatar
    • Spinner
    • Divider
    • Link
    • Text
  2. Molecules7

    • FormField
    • SearchBar
    • Card
    • Tabs
    • Toast
    • Dropdown
    • Pagination
  3. Organisms5

    • Header
    • DataTable
    • Modal
    • Sidebar
    • FilterPanel
  4. Templates5

    • Dashboard
    • ListPage
    • DetailPage
    • AuthPage
    • SettingsPage

Structure of the Trades.org component library, shared by 2 web apps and a React Native app. Names are representative.

Demo with fictitious data: no real clients and nothing from production.

Cases

  • Multi-brand white-label

    A single codebase serves 3 production brands: 3-layer tokens, Zod-validated brand configs and a scaffolder to add new brands.

  • Trades.org component library

    Atomic design with about 27 components (10 atoms, 7 molecules, 5 organisms and 5 templates) shared by 2 web apps and a React Native app.

  • React to Next.js migration

    A production application moved from React to Next.js with route-level code splitting, server rendering and asset optimization.

  • Upcard · 2026in pre-production

    Payment orchestrator

    Backend and payment site

    Collections platform an institutional client's borrowers use to pay online via PSE and Bre-B. Certified by the payment processor and deployed; in pre-production testing before cutover.

    precedence rules to resolve the payer's return
    5
    payment rails
    PSE · Bre-B
    • NestJS
    • Next.js
    • PostgreSQL
    • Redis/Valkey
    • Docker
  • Upcard · 2026in production

    Multi-brand design system

    ADR author and implementer

    3-layer tokens (brand foundations → semantic tokens → components) with Zod-validated brand configs and a CLI scaffolder for new brands.

    brands in production
    3
    lines to change a brand's color
    ~11
    • Next.js
    • Tailwind CSS
    • Zod
    • TypeScript

Shall we build something reliable?

I reply in English or Spanish.

Email me on Gmail