MozaikaWhat changed last night

The Drift Ledger

105 nights · 155 products watched · 9617 measurements · 2026-07-23 → 2026-11-05

Every night Mozaika re-measures the design systems of 155 of the web's most-referenced products and writes down what moved — including the nights nothing did. Over the 105 nights from 2026-07-23 to 2026-11-05, 68 products did not move a single measured token, 46 shipped a change that stuck, and 60 carry a value that never settles between measurements.

Open in Mozaika →

This is a static, crawlable rendering for search & AI engines. The interactive version — filters, live decode console, copy & export — is at https://mozaika.design/drift.

68 of 155 products held every measured token for 105 nights

Confirmed changes

A change is only listed here once the new value has survived at least 2 further nightly measurements. 24 qualify in this window.

2026-11-03 — play.grafana.org

play.grafana.org changed its background colour from #111217 to #040608 and 2 other tokens. Held for 2 further nights.

tokenbeforeafter
background colour #111217 #040608
link colour #6E9FFF #6E98DB
text colour #CCCCDC #C9CED4

2026-11-03 — starbucks.com

starbucks.com moved its hero size (measured) from 24 to 36 and 1 other token. Held for 2 further nights.

tokenbeforeafter
hero size (measured)2436
headline size24px36px

2026-11-02 — nature.org

nature.org moved its hero size (measured) from 40 to 60 and 1 other token. Held for 3 further nights.

tokenbeforeafter
hero size (measured)4060
headline size40px60px

2026-10-30 — flowus.cn

flowus.cn changed its button colour from #FFFFFF to #0285FF and 2 other tokens. Held for 6 further nights.

tokenbeforeafter
button colour #FFFFFF #0285FF
container width896640
primary button fill #FFFFFF #0285FF
card shadowrgba(25, 25, 25, 0.04) 0px 5px 8px 0px, rgb…rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0…

2026-10-29 — kpmg.com

kpmg.com moved its primary button radius from 2px to 0px. Held for 7 further nights.

tokenbeforeafter
primary button radius2px0px

2026-10-22 — soundcloud.com

soundcloud.com moved its primary button radius from 4px to 9999px. Held for 14 further nights.

tokenbeforeafter
primary button radius4px9999px

2026-10-21 — nike.com

nike.com moved its body size (measured) from 14 to 20 and 1 other token. Held for 15 further nights.

tokenbeforeafter
body size (measured)1420
body size14px20px

2026-10-17 — happylife11.shop

happylife11.shop changed its link colour from #F3F4F6 to #1C1C1C and 9 other tokens. Held for 18 further nights.

tokenbeforeafter
link colour #F3F4F6 #1C1C1C
nav height5768
easing curvecubic-bezier(0, 0, 0.2, 1)ease
transition duration180200
primary button radius9999px0px
body size (measured)1412
hero size (measured)4864
hero weight500550
body size14px12px
headline size48px64px

2026-10-17 — bwfbadminton.com

bwfbadminton.com changed its text colour from #333333 to #000000. Held for 19 further nights.

tokenbeforeafter
text colour #333333 #000000

2026-10-16 — starbucks.com

starbucks.com changed its button colour from #32462F to #006242 and 5 other tokens. Held for 19 further nights.

tokenbeforeafter
button colour #32462F #006242
container width1440820
nav height99100
easing curveease-outease
transition duration200250
primary button fill #32462F #006242

2026-10-16 — etoro.com

etoro.com moved its spacing base unit from 8 to 4. Held for 19 further nights.

tokenbeforeafter
spacing base unit84

2026-10-14 — happylife11.shop

happylife11.shop changed its button colour from #6D28D9 to #FFFFFF and 1 other token. Held for 21 further nights.

tokenbeforeafter
button colour #6D28D9 #FFFFFF
primary button fill #6D28D9 #FFFFFF

2026-10-06 — drewlevinson.me

drewlevinson.me moved its body size (measured) from 14 to 15 and 1 other token. Held for 29 further nights.

tokenbeforeafter
body size (measured)1415
body size14px15px

2026-10-02 — 1password.com

1password.com changed its primary button fill from #145FE4 to rgba(0, 0, 0, 0). Held for 33 further nights.

tokenbeforeafter
primary button fill #145FE4 rgba(0, 0, 0, 0)

2026-10-02 — ryanair.com

ryanair.com moved its nav height from 55 to 0. Held for 19 further nights.

tokenbeforeafter
nav height550

2026-10-01 — play.grafana.org

play.grafana.org changed its button hover fill from #FFCC00 to #FFD54F and 6 other tokens. Held for 32 further nights.

tokenbeforeafter
button hover fill #FFCC00 #FFD54F
button colour #F9A825 #FFB300
primary button fill #F9A825 #FFB300
primary button radius8px9999px
hero size (measured)2839
hero weight500800
headline size28px39px
card shadowrgba(0, 0, 0, 0.3) 0px 4px 12px 0pxrgba(0, 0, 0, 0.25) 0px 4px 10px 0px

2026-09-30 — netugroup.com

netugroup.com moved its body size (measured) from 17 to 22 and 1 other token. Held for 36 further nights.

tokenbeforeafter
body size (measured)1722
body size17px22px

2026-09-18 — tradingview.com

tradingview.com moved its hero size (measured) from 64 to 56 and 1 other token. Held for 46 further nights.

tokenbeforeafter
hero size (measured)6456
headline size64px56px

2026-09-18 — etoro.com

etoro.com moved its nav height from 132 to 113. Held for 46 further nights.

tokenbeforeafter
nav height132113

2026-09-18 — kpmg.com

kpmg.com moved its spacing base unit from 8 to 6. Held for 47 further nights.

tokenbeforeafter
spacing base unit86

2026-09-15 — music.apple.com

music.apple.com moved its nav height from 739 to 755. Held for 39 further nights.

tokenbeforeafter
nav height739755

2026-09-14 — logical-kitten.staticdomains.app

logical-kitten.staticdomains.app changed its link colour from #0E0F11 to #3E87F8 and 2 other tokens. Held for 51 further nights.

tokenbeforeafter
link colour #0E0F11 #3E87F8
easing curvecubic-bezier(0.22, 1, 0.36, 1)ease
transition duration850350

2026-09-11 — venmo.com

venmo.com retimed its easing curve from ease-in-out to cubic-bezier(0.4, 1.2… and 1 other token. Held for 32 further nights.

tokenbeforeafter
easing curveease-in-outcubic-bezier(0.4, 1.2, 0.2, 1)
transition duration600300

2026-09-03 — grubhub.com

grubhub.com changed its button colour from #262626 to #1A1A19 and 2 other tokens. Held for 61 further nights.

tokenbeforeafter
button colour #262626 #1A1A19
primary button fill #262626 #1A1A19
primary button radius42px9999px

Values that never settled

These measurements alternated between nights instead of holding. A live experiment, rotating or personalised content, and a page that simply renders differently each run all look the same from the outside, so Mozaika reports the instability rather than guessing the cause. Either way: do not hard-code these.

producttokenflipsvalues seen
imdb.comprimary button radius4624px · 4px
clickup.combody size4114px · 12px · 16px
clickup.combody size (measured)4114 · 12 · 16
imdb.comcard shadow35rgba(0, 0, 0, 0.12) 0… · rgba(0, 0, 0, 0.2) 0p…
poshmark.comnav height31102 · 116 · 50
shazam.comcard shadow30rgba(0, 0, 0, 0.08) 0… · rgba(0, 0, 0, 0.1) 0p… · rgba(0, 0, 0, 0.1) 0p… · rgba(0, 0, 0, 0.1) 0p…
mercury.comheadline size2949px · 65px
mercury.comhero size (measured)2949 · 65
mercury.comtransition duration28150 · 300
poshmark.comprimary button radius263px · 4px
ryanair.comheadline size2624px · 50px
ryanair.comhero size (measured)2624 · 50
walmart.comlink colour26#FFFFFF · #0000EE · #001E60
therundown.aibutton colour24#FFFFFF · #171717
therundown.aiprimary button fill24#FFFFFF · #171717
shein.comprimary button fill23rgba(0, 0, 0, 0) · #FF3351
gruns.coprimary button radius223.35544e+07px · 100px
soundcloud.combody size2219px · 14px
soundcloud.combody size (measured)2219 · 14
mercury.comeasing curve21cubic-bezier(0.4, 0, … · cubic-bezier(0, 0, 0.…
shein.comcard shadow21rgba(0, 0, 0, 0.3) 0p… · rgba(0, 0, 0, 0.08) 0…
outlook.comtransition duration18125 · 200 · 1200
google.comtext colour17#1F1F1F · #16171A
gruns.cotransition duration17200 · 300
grubhub.comheadline size1642px · 36px
grubhub.comhero size (measured)1642 · 36
imdb.comspacing base unit164 · 8
walmart.combody size1616px · 12px
walmart.combody size (measured)1616 · 12
google.comeasing curve15linear · ease-in-out · ease

Which tokens move most

tokenmovesproducts
body size22937
body size (measured)22836
primary button radius20928
card shadow17223
transition duration15928
headline size15026
hero size (measured)14725
primary button fill14027
easing curve10421
nav height9624
text colour8217
button colour7420

Held every night

acap-bicol.github.io, lumiui.dev, sdlc-dev.vercel.app, stripe.com, weaponsforge.github.io, gmail.com, kayak.com, spotify.com, headspace.com, chromewebstore.google.com, gumroad.com, demo.immich.app, discord.com, outcomeops.ai, ghostfol.io, clarezoe.github.io, kinfolk.com, duolingo.com, flo.health, crypto.com, fongo.com, family.co, lucide.dev, twitch.tv, bitihop.swedexpress.store, dexlyn.com, fluxthinking.com, whisperweb.dev, projectsofai.beehiiv.com, host-html-user.com, quonfig.com, ubereats.com, opencode.ai, drive.google.com, app.debtpayoffplanner.com, joydao.univer.se, raycast.com, grammarly.com, community-nextjs-template.vercel.app, deliveroo.co.uk and more.

Questions people (and AI assistants) actually ask

Do websites actually redesign often?

Mostly no. Across 105 consecutive nights Mozaika re-measured 155 of the web's most-referenced products and 68 of them did not move a single measured design token — not a colour, not a type size, not a radius. Only 46 shipped a change that stuck.

How can you tell a real design change from a fluke?

By waiting. A value only counts as changed once the new value survives at least two further nightly measurements. Anything newer is held as pending, and any value that returns to something it has already been is marked unstable instead of reported as a change.

What does an 'unstable' design token mean?

That the value did not settle: it alternated between nightly measurements. 60 of the 155 watched products have at least one such token. That is either a live A/B test, personalised or rotating content, or a page that renders differently run to run — from the outside those look identical, so Mozaika does not guess between them. The practical reading is the same either way: do not hard-code that number.

Which design tokens change most often?

Across the window the most-moved token is body size (229 moves across 37 products), followed by body size (measured) and primary button radius.

How is the Drift Ledger measured?

Every night Mozaika re-decodes each watched product's live DOM and writes one dated row per domain — including when nothing changed, so a gap in the record can never be mistaken for 'we stopped looking'. The window shown covers 2026-07-23 to 2026-11-05 (105 nights, 9617 successful measurements). The series cannot be backfilled: a night not measured is gone.

Cite this dataset

The Drift Ledger is free to cite and reuse under CC BY 4.0 — attribution to Mozaika. Live JSON: https://mozaika.design/api/drift.

Mozaika. "The Drift Ledger: what changed in the web's design systems." 2026-07-23–2026-11-05. https://mozaika.design/drift — 9617 nightly measurements across 155 products.

Ask it from your agent over MCP: connect free and call get_design_drift("stripe.com") before you build against a spec, or list_design_changes() for the feed. See also The Measured Web for the norms themselves.