Skip to content

Optional analytics

Allow optional analytics to help improve projects, writing and navigation. It uses a pseudonymous first-party identifier after consent. No names, email addresses, messages or search text are collected.

Read the privacy policy
Case studyInternal acceleratorCurrent build

BrandScan

Turns a live website into reusable visual tokens and structured brand signals.

An internal accelerator that replaces manual brand discovery with an automated crawl. Produces a structured brand board and exportable design tokens from any live website.

Token board
tokens.jsonbrand.csstailwind.config.ts
My role

Product design, extraction workflow, asynchronous processing, and interface design

Project stage

Current build

What it replaces

Replaces manual visual inspection with extracted colours, typography, contrast checks, and design tokens.

Current evidence

Working website crawl · Extracted colour and typography results · Extracted component results · Download sample token output

01
Overview

What the system is meant to change.

For

Teams starting from an existing website or brand that need the visual system turned into reusable implementation tokens.

Replaces

When a project starts with an existing brand, the visual system lives in screenshots, designers' memories, and buried CSS files. Extracting the actual colours, fonts, and contrast ratios is tedious, inconsistent, and easy to get wrong.

Produces

A structured brand board with extracted colours, typography, contrast audit scores, component crops, and exportable implementation tokens.

02
Architecture

Turn the live interface into a structured, reviewable design-system draft.

BrandScan crawls a target website using headless Chromium via Playwright, extracts computed colours, font families, sizes, contrast ratios, and component samples, then runs an async Celery job to structure them into an editable brand board. Results are stored in Cloudflare R2.

01
Website
02
Crawl
03
Extract
04
Structure
05
Store
06
Export
01

Live website

02

Visual extraction

03

Design tokens

Design constraints
  1. 01Extract computed visual properties rather than relying only on source CSS declarations.
  2. 02Separate crawling from asynchronous structuring and export.
  3. 03Preserve page and component context for extracted visual signals.
  4. 04Make the result editable before it becomes implementation tokens.
Engineering decisions
  1. 01Computed styles: Extraction observes the rendered page so inherited and runtime styles are not missed.
  2. 02Frequency with context: Repeated values are useful, but page location and component samples help explain what each token means.
  3. 03Asynchronous structuring: Crawling, extraction, board generation, and export remain separate processing stages.
  4. 04Editable before export: Users can resolve noise and duplicates before producing JSON, CSS, or Tailwind tokens.
System behaviour and reliability
  1. 01A target site is crawled using headless Chromium.
  2. 02Computed visual properties are extracted and normalised.
  3. 03An asynchronous job assembles an editable brand board.
  4. 04Structured results are stored for export.
  5. 05Crawl and processing stages remain separate failure boundaries.
  6. 06Exports are generated from stored structured results rather than transient page state.
Evaluation approach
  1. 01Compare extracted tokens with manually verified source styles.
03
Visual proof

Interface views for the workflow and its decisions.

Current crawl results and export structure from the working BrandScan workflow.

Extracted token board
Token board
tokens.jsonbrand.csstailwind.config.ts
Extracted token board

The current review surface groups extracted colour, typography, contrast, and component results from a website crawl.

Token export
Colour roles
action
text
surface
background
Typography and components
IBM Plex Sans
body · heading · interface
Primary actionSecondary action
Export preview
--colour-action#891C1C
--colour-text#1A1714
--surface-muted#F4F0EA
--font-bodyIBM Plex Sans
Token export

The reviewed output is converted into reusable JSON, CSS, and Tailwind-friendly implementation tokens.

04
Evidence and boundaries

What exists now, what remains limited, and what comes next.

This separation is intentional: planned evaluation and reliability work is not presented as completed evidence.

Limitations

  1. 01Extraction quality depends on how consistently the source site exposes its visual system.

Next validation

  1. 01Test extraction across a wider range of component and stylesheet patterns.
05 · Discuss a similar system

Send the current workflow, source material, report, or product idea.

A polished specification is not required. The rough version is enough to establish the problem boundary and useful next step.

Discuss a similar system