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.

In flight

Active threads — the newest pass is the one to read.

Plugin onboardingwp-admin6

One thread, six passes: palette → identity → real scale → rail orientation → the update case.

  • The rail, horizontallycurrent

    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.

  • LDX upgrade onboardingsuperseded

    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.

  • House at real scalesuperseded

    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.

  • Candidate E expandedsuperseded

    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.

  • Plugin onboardingsuperseded

    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.

  • Onboarding palettessuperseded

    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.

Campaign designerapp + WP6

Kitchen sink → working editor → Julia’s Figma round trip → decoration split into axes.

  • Campaign editor v3current

    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.

  • Ornament positioningsuperseded

    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.

  • Campaign ornaments & framessuperseded

    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.

  • Campaign editor v2superseded

    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.

  • Campaign editor v1superseded

    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.

  • Marketing campaignssuperseded

    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.

Reference

Settled: shipped, normative, or a stable set of screens.

Account app screens6

The signed-in app. A set, not a thread — each page stands alone.

  • Product detail

    Tabbed product page — downloads, changelog, licences, feedback.

  • Website detail

    One site: plugins, activations, observations.

  • Websites

    The connected-sites table.

  • Dashboard

    Account overview: branded alerts, plugins, licences.

  • Licensing

    Licence keys, seats and activations.

  • Products

    Catalogue listing.

Pricing widget1

Normative for the WP widget plugin.

  • Pricing blocksnormative

    Six layouts, seven themes, the overflow policy and PPP hydration. Normative for the WP widget plugin — port it, don't redesign it.

Subscriber opt-in1

Became real code.

  • Subscriber confirmedshipped

    The double-opt-in landing. Shipped and live — this one became real code.

Brand foundations2

Colour, type and the logo glyph.

  • Spinners

    Four loading directions built from the logo glyph.

  • Brand & foundationsyou are here

    Colour, type, buttons, callouts, flourish restraint — the original brand direction. This page.

TANGIBLE design preview · open the .html in browser, edit and refresh
Contact us

Dashboard direction

Own the licensing
experience with Tangible.

This is what body copy looks like in League Spartan. Comfortable at 18px line height 1.6 — breathable and readable.

Heads up

SiteSync 1.1.2 released

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

What's happening with your account

Licenses

License lifecycle events

5 licenses active across 8 sites.
Expired · 1
Cox Campus Basic Plugins 4 sites
expired 04/13/2026
Renewing soon · 2
SiteSync Annual Pro 3 sites
in 12 days
Creators' Club 7 sites
in 4 weeks

Palette

Brand colors

ink
#000000
warm
#FDFAF8
indigo
#6359D6
olive
#507F06
tobacco
#936C21
cream
#FFF5E4
mint
#E8F0CC
indigo-soft
#F0EEFD

Notices

Confirmation & status callouts

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

CTA styles

Type scale

Fraunces × League Spartan

Fraunces 60 · display headline

Fraunces 36 · section heading

Fraunces 24 · card title

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

Where the app deviates from teamtangible.com

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

Radius hierarchy

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 only
  • rounded-lg (8px) — secondary buttons, filters, dropdown triggers
  • rounded-md (6px) — text inputs, search fields
  • rounded-xl (12px) — cards, notice blocks

Rationale: the pill retains its signal because it's rare. When everything's a pill, nothing is.

Evolution · 2026-04-19

Flourish restraint

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.

Painted 6:58 AM EST