Design preview · 22 artifacts · 6 tracks
Scarecrows, not builds. Every page is standalone HTML with no build step — open it, edit it, refresh. Grouped by the work item it belongs to, newest pass first. Times are Montreal (EST). Newest: Campaign editor v3, 26 Aug 2026.
Active threads — the newest pass is the one to read.
One thread, six passes: palette → identity → real scale → rail orientation → the update case.
Moving the 246px step rail from vertical to horizontal, three ways. It retires an open question: the right-hand aside doesn’t fit at 1280px with a vertical rail, and 1280 is where most admins actually are.
The first onboarding we ship probably isn’t an install — it’s an update to a plugin somebody else sold them. A scannable manifest table instead of a wizard, previews drawn from the reader’s own colour values rather than screenshots, and a registry so any plugin attaches its own rows. Content is real, from 152 LDX commits.
The chosen direction drawn at 1440px with a real 160px admin menu — because the earlier mocks were a third of a real screen, and sparse reads as clean at 500px and empty at 1440px. Adds the ghost numeral, a hairline schematic, and the tile ladder. The type scale was most of the problem.
The chosen palette taken seriously: three purples with three jobs, plus six identity devices that aren’t colour at all — led by the brand mark used as the progress indicator, since the logo is a 3×3 grid of six tiles that can fill as you advance.
The first Tangible design for wp-admin proper. A shared onboarding frame that inherits each plugin’s colour, a progress rail that cannot be drawn until the licence resolves, and consent that prints the actual payload instead of a policy link. Stress-tested against four hostile notices and a recoloured admin.
One screen, six diverging palettes, judged on a deliberately neutral page — the last round looked creamy because the artifact page itself was #FDFAF8. Includes the indigo↔WP-blue midpoint. The finding: wp-admin’s learned colour meanings eliminate olive and salmon outright.
Kitchen sink → working editor → Julia’s Figma round trip → decoration split into axes.
The assembled scarecrow of every 08-26 decision: header bar owns identity and publish, preview on top at actual size, a height-draggable drawer with four tabs (Setup / Content / Appearance / Delivery), live theming and frames, and strategy-B positioning: a tappable schematic map of the current format, kind-discriminated, beside preview-rendering kind and art dropdowns.
The ornament model survived review; the glyph position control did not. Four replacement strategies — plain words, the format’s own schematic map, thumbnail radio cards, drop-on-preview — each drawn on three formats, plus the decided two-rows-and-a-countdown-toggle panel.
v2 modelled decoration as one enum on the eyebrow. This splits it into three axes — up to two placed ornaments, a frame treatment, and the existing art presets — recovers the pre-v1 stickers and dashed borders, and adds ribbon, price tag, stamp and burst. Every rail shown failing.
All seven formats, grouped by slot class, plus a live arbitration simulator showing which campaign wins each slot. The round trip: v1 went into Julia's Figma and came back as spec.
Working editor for topbar, banner and welcome mat. Julia's Figma, ported — the form derives itself from the format and the surfaces really render. Superseded by v2.
The first kitchen sink: the 40% OFF spinwheel sticker, ticket-edge strips, rotating promo bars, in-navbar placements, hero-collapse-on-scroll. Explorations, mostly not v1.
Settled: shipped, normative, or a stable set of screens.
The signed-in app. A set, not a thread — each page stands alone.
Tabbed product page — downloads, changelog, licences, feedback.
One site: plugins, activations, observations.
The connected-sites table.
Account overview: branded alerts, plugins, licences.
Licence keys, seats and activations.
Catalogue listing.
Normative for the WP widget plugin.
Six layouts, seven themes, the overflow policy and PPP hydration. Normative for the WP widget plugin — port it, don't redesign it.
Became real code.
The double-opt-in landing. Shipped and live — this one became real code.
Colour, type and the logo glyph.
Four loading directions built from the logo glyph.
Colour, type, buttons, callouts, flourish restraint — the original brand direction. This page.
Dashboard direction
This is what body copy looks like in League Spartan. Comfortable at 18px line height 1.6 — breathable and readable.
Heads up
Improved PHP 8.3 support and fixes for async sync queues. Three of your sites are still on 1.1.0.
Review sites →Dashboard alerts — branded
Issues across your sites
License lifecycle events
Palette
Notices
Dashed border + saturated icon bubble + two-line copy hierarchy. Pattern lifted from teamtangible.com's contact-form confirmation.
Thanks for reaching out!
A member of our team will follow up with you shortly to discuss how we can help.
Your download is being prepared
We're bundling the latest release. This usually takes a few seconds — we'll redirect you when it's ready.
Your SiteSync license expires in 9 days
Your subscription isn't renewing. If you want uninterrupted access, renew from your billing page before April 28.
5 licenses active across 8 sites — all good.
Buttons
Type scale
League Spartan 18 · body copy for longer paragraphs. The quick brown fox jumps over the lazy dog.
League Spartan 14 · secondary / metadata. The quick brown fox jumps over the lazy dog.
League Spartan uppercase · eyebrow label
Evolution
The marketing site sets the brand tone; the app adapts it for data density. Record every deviation here so future decisions stay principled, not arbitrary.
Evolution · 2026-04-19
Source: teamtangible.com pills almost everything — CTAs, form inputs ("FIRST NAME"), nav links. The marketing site's pill-heaviness is part of its bold voice.
App evolution: in a data-dense B2B context, pill-for-everything becomes visual noise — a 500px-wide search input shaped like a pill feels precious, not confident. So we split the radius rule:
rounded-full (pill) — page-level primary CTAs onlyrounded-lg (8px) — secondary buttons, filters, dropdown triggersrounded-md (6px) — text inputs, search fieldsrounded-xl (12px) — cards, notice blocksRationale: the pill retains its signal because it's rare. When everything's a pill, nothing is.
Evolution · 2026-04-19
Source: marketing pages lean into rotated note-cards, scattered confetti dots, yellow highlighter strips, squiggle underlines everywhere.
App evolution: flourishes are reserved for moments — a single squiggle on hover, a single highlighter phrase in an empty state. Page-level decorations (rotated cards, dot confetti, highlighter on body) don't ship to the app because they contend with data the user is trying to read. We apply brand warmth through color, type, and the dashed-border notice pattern instead.
Template · future evolutions
Each time we deviate from teamtangible.com's pattern (or knowingly inherit something unusual), add a block here with: source behaviour, app evolution, and rationale. Keeps the "why" legible to future you.