Oct 27, 2026|Vincent Redor
Published

Guest Design: Designing for Sites You Don't Control

Abstract // TL;DR

An embedded widget lives on thousands of brands' sites it will never see. This note argues a simple idea: it isn't designed as a mockup but as a system of rules that reads its host, is judged on the worst real caseThe least favourable page the component will actually meet, measured in the field, not the ideal setting of the mockup. and knows when to make way. Shown with the Reponse live chat, tested against 861 Shopify stores before the first line of code.
[Hypothesis]
An interface hosted on thousands of sites can't be validated on an ideal mockup. It is designed as a system of rules that reads the host page, is measured against the worst real case and makes way rather than covering. Every setting left to the merchant is something the design failed to read.

1. The host site is the unknown

Interface design assumes a controlled setting: you know the palette, the typography, what surrounds each component. A chat, payment or consent widget knows none of this. It shows up on thousands of sites, each with its own art direction, banners and apps. The mockup shows one case out of thousands, and the most favourable one.

For the new Reponse live chat, the prototype held up on four fictional stores: light, black, saturated, photo. Before writing a line of code, we tested it against 1,000 real Shopify stores from the target market, in the US, Canada and France, opened by an automated browser on desktop and mobile. 861 could be analysed. The field contradicted the mockup straight away.

What the mockup didn't show
Across 861 stores: 51% of pages already have something at the bottom centre on load, 45% of brands have no truly coloured colour, and 64% already run another chat.

2. Measuring against the worst real case

WCAG requires a contrast ratioThe ratio between the luminance of text and that of its background, from 1:1 to 21:1. WCAG requires at least 4.5:1 for body text (level AA). of at least 4.5:1 for text, usually checked against a background. Glass has no fixed background: it takes the colour of the page it covers. The first prototype checked the accent colour against the darkest tint of the smoked glass. That was the wrong case, and it measured 1.7 to 3:1.

The worst real case is the opposite: smoked glass over a white page, light glass over a black page. Once the rule was fixed, every case exceeds 4.6:1, and text contrast holds on 100% of the stores analysed, in both glasses. The lesson goes beyond contrast: a guest component is validated on the worst page it will meet, not the best-looking one.

3. Reading the page instead of asking for settings

The old widget asked merchants for their colours for the light theme and for the dark theme. Every setting is an admission: the design failed to read its environment, and hands the problem to someone who isn't a designer.

The new widget reads the page. It measures the luminance around it: smoked glass by default, light glass when the page is dark. Across the 861 stores, this single rule cuts weak edges from 16% to 6%, within 0.2 points of the best possible choice store by store. For colour, it follows a decision chain and keeps the first truly coloured colour. If everything is black, grey or white, as for 45% of brands, it falls back to the brand's secondary colour, then to a neutral light. A single field remains, and it is optional: the brand colour, for merchants who want to decide.

01. The glass
Luminance of the page around the widget
↓below 0.2
Light glass
↓otherwise
Smoked glass
02. The colour: the first truly coloured one
Brand colour field
↓
Theme buttons
↓
Brand primary colour
↓all black, grey or white
Secondary colour
↓
Neutral light
Figure // What the widget reads on the page
© Vincent Redor

4. The guest's manners

A guest doesn't speak louder than the host. On half the pages, the bottom of the screen is already taken at load, first by cookie consent banners: 36% of pages, nearly two thirds of them showing Shopify's own banner. Covering that banner gets in the way of the first choice the store asks its visitor to make. While it awaits an answer, the widget therefore shrinks to its avatar, resting above it. It rises the same way above the sticky add-to-cart bars of product pages.

The same manners towards the other guests: 64% of stores already run a chat, Gorgias on 41% of them. On mobile, the bar shortens so it never covers their bubble, and the admin explains to the merchant why two chats side by side make shoppers hesitate.

The bottom of the screen is contested ground
36% of pages open on a cookie banner, and 58% of mobile product pages already have something fixed at the bottom of the screen.

5. Adding a single object

The last principle: the guest adds only one object to the page. A bar and a panel animating separately read as two more elements. The widget makes them read as a single component: the bar stretches into one block of glass, the panel grows out of it without a seam, the avatar rides under the edge up to the header, and the block only splits at the end. This is the Gestalt law of common fateGestalt principle described by Wertheimer in 1923: elements that move together, in the same direction and at the same pace, are perceived as one group.: what moves together is perceived as a whole.

End of note
[Takeaways]
Guest design changes the question. It is no longer about what the interface looks like, but which rules let it be right everywhere. The mockup becomes one test case among others, and field data becomes the design review. For an app installed by thousands of merchants, every setting removed is a problem the design solved on their behalf.
Appendix
[References]
W3C2023Web Content Accessibility Guidelines (WCAG) 2.2 — 1.4.3 Contrast (Minimum)
View
Wertheimer, Max1923Laws of Organization in Perceptual Forms
View
ShopifyLiquid brand object: a store's brand colours
View
Vincent Redor2026Case study: the Reponse glass live chat
View