Gousto DESIGN.md
Brands
Gousto is a British recipe-box company: it delivers measured ingredients and recipe cards for cooking at home, and publishes a public cookbook of its recipes. Its current identity dates from 2017, when a new logo — a…
At a glance
- Group
- Brands
- Main color
- #ff0032Red design systems
- Font
- Axiforma
Colors in this file
- #412dee
primary-highlight
- #ffffff
canvas
- #615cff
primary
- #373a3c
text-strong
- #3e3ac2
Unnamed
- #516272
foreground
- #7d7e7f
grey
- #f4f7fa
surface
- #333d47
surface-dark
- #11161b
surface-darkest
Overview
Visual Theme & Atmosphere
Gousto is a British recipe-box company: it delivers measured ingredients and recipe cards for cooking at home, and publishes a public cookbook of its recipes. Its current identity dates from 2017, when a new logo — a lowercase, geometric wordmark with a circular monogram — replaced the old one, as Brand New recorded that September. Today the homepage runs a "Meet the New Gousto" banner over its hero.
What renders is a purple/indigo action colour, #615cff, deepening to #412dee on hover
and pressed states, over a body-copy ink of #516272 and a dominant nav/UI ink of
#373a3c. Sections alternate white (#ffffff), a light grey #f4f7fa, and two dark
bands, #333d47 and #11161b. A red ribbon (#ff0032) and a green accent
(#01a92b) appear as promotional and status colours.
Primary tasks
- Browse recipe boxes and prices; get started signing up.
- Browse the public recipe cookbook (
/cookbook/recipes).
Brand Narrative
Regional UK trade press corroborates a 2017 rebrand: Fresh Produce Journal/Fruitnet ("Gousto rebrand targets families," 13 Sep 2017) describes a new logo, "design system" and photography style aimed at families, a TV campaign via The Sharp Agency (production by The Gate, director Cosmo Wallace), with CEO Timo Boldt quoted on "good food on the table." underconsideration.com's Brand New ("New Logo for Gousto," 27 Sep 2017) corroborates the same rebrand date and describes it with tags including circle, geometric, lowercase and monogram, though its full analysis is paywalled and was not read.
Grocery Gazette ("How Gousto used AI guardrails to speed up Ireland website development," 24 Sep 2026) describes active 2026 engineering and design work: an engineer-built, Claude-based "AI harness" for constrained code generation, a pricing-page redesign, and a homepage overhaul across mobile/tablet/desktop via Figma and feature flags, with product designer Dec Roberts quoted; it also confirms roughly 15 years of UK operation before Gousto's Ireland launch in February 2025.
Principles
- One colour for doing.
#615cff/#412deecarries every primary action and every interactive ring, on light and dark backgrounds alike. - Body ink is its own colour.
#516272for paragraph text is distinct from the#373a3cused in navigation and headings. - The ring travels, the radius doesn't agree with itself. The
#412deefocus/pressed ring is applied consistently across button, nav and dropdown controls, even though the CTA's 8px radius contradicts its own declared 3px token.
Personas
Not researched. No persona claim is made from a UI capture.
Colors
Measured with getComputedStyle on www.gousto.co.uk: 212 root custom properties beyond the 31
--cc-* cookie-consent vars, which belong to the third-party "vanilla-cookieconsent" library
(orestbida/cookieconsent) and are excluded. Everything else is first-party, though structurally
messy: four parallel type-scale namespaces and three parallel grey ramps coexist.
Action colour
- Primary (
#615cff) —--Secondary-400, the resting fill of the primary CTA and every recipe card's link colour. Primary Highlight (#412dee) —--Secondary-600and--Gousto-focused-border, the hover/pressed/focus colour used everywhere: buttons, nav-link rings, the card border. Primary Surface (#eae9ff) —--Secondary-50.
Text and surfaces
- Foreground (
#516272) — the most frequent colour inside<p>elements (rgb(81, 98, 114)), matching--ColdGrey-600. This is the body-copy ink, distinct from the nav/UI ink. - Text Strong (
#373a3c) — the dominant text colour overall (694 occurrences), used in nav and headings. Text Black (#000000) — 368 occurrences, mixed use. - Surface (
#f4f7fa) — a light grey section background (21 occurrences). Surface Dark (#333d47, 9 occurrences) and Surface Darkest (#11161b, 7 occurrences) are the dark footer/section bands. Border (#ced4d9) appears on card edges. Canvas (#ffffff) is the base background (71 occurrences) and the header background. - Grey (
#7d7e7f) —--NeutralGrey_500, whose declared value is malformed, a literal quoted string"\"#7D7E7F\""baked into the custom property — a pipeline bug, recorded as found.
Status and a stray
- Red (
#ff0032) — Pomegranate, the "50% OFF" ribbon colour (also seen as#ff3355). Green (#01a92b) is a status/promo green (also seen as#006700/#008610). A success-tint background#e6f7e7appears behind confirmation-style content. - Link Blue (
#0275d8) — 53 occurrences, a Bootstrap-blue-looking link colour that reads as a stray default rather than an intentional brand colour; flagged, not promoted further.
Typography
Font family
Axiforma is the confirmed rendered brand face — document.fonts reports it loaded in three
weights actually used: Book (400), Bold (700), and ExtraBold (on <h1>), plus variable-font
instances with continuous weight ranges (AxiformaBook 401 1000, AxiformaBold 1 1000,
AxiformaExtraBold 1 1000), meaning Axiforma is served as a variable font alongside static Book and
Bold files. It is self-hosted — no Google Fonts or Adobe Fonts network call appears in the font
fallback chain, which falls back straight to system fonts — but this serving mechanism was not
independently confirmed via a network trace in this pass, only that document.fonts reports it
loaded.
Declared stacks: body = AxiformaBook, Helvetica, sans-serif; h1 = AxiformaExtraBold, Helvetica, sans-serif; button = AxiformaBook, Helvetica, sans-serif.
Scale, and the mess
At least four parallel size namespaces coexist: --fontStyle-* (composite tokens baking in size,
line-height and family, e.g. --fontStyle-BodyL: 18px/27px AxiformaBook,Helvetica,sans-serif, sans-serif — note the doubled sans-serif, a token-pipeline artefact repeated across several of
these), --font-Static* (pure size/line-height pairs, e.g. --font-StaticLarge: 18px/27px),
--fontSize-* (bare px sizes, 11–48), and --Font-Scale-* (a second bare-px ramp, 16/18/20/24/28,
overlapping the others in value space). --Line-Height-* supplies a third naming convention for
line-heights (20/24/28/36 px) alongside --lineHeight-normal: 1.4.
Confirmed rendered sizes: the primary CTA label is 18px at weight 400; the "Recipe boxes"/"Box prices" nav links are 14px at weight 700; the "How it works" dropdown trigger is 18px at weight 400; the "Login" ghost link is 13px at weight 400.
Layout
- Two parallel spacing scales: mobile
--spacing-*(XXS5 …XXXXXL100) and--spacing-Desktop*, which uses different px values belowXXLand converges with the mobile scale fromXXLup. - Button padding:
--Gousto-button-padding8px 16px; the rendered primary CTA instead uses10px 24px. - Border widths were not enumerated as a dedicated scale beyond the component borders above.
Responsive Behavior
Not measured. Desktop 1440×1000 only.
Elevation & Depth
Mostly flat, with the ring itself doing the work of state feedback: 0 0 0 3px #412dee (button and
nav-link pressed/focus), 0 0 0 1px #ffffff inset (the focus inner ring on white-text buttons). A
soft rgba(2,2,3,.28) shadow belongs to the cookie-consent modal and is excluded as third-party.
Motion & Easing
Not measured. No --transition/--duration custom properties were found in the root
enumeration.
Tier 1 sources: (live homepage, headless-refused, headed Chrome;
en-GB, 1440×1000; 212 first-party :root custom properties beyond --cc-*; consent banner
rejected via "Reject all non-essential" before any measurement; captured 2026-09-26);
(public recipe browse page, used to measure the card-link
component and to confirm no search input exists logged out, captured 2026-09-26);
(nonsense-path control — HTTP 200, byte-identical
785-character "Oh crumbs!" 404 body to /about-us and /our-story, captured 2026-09-26), compared
against (a real, distinct 3,862-character page, same date).
Regional sources: (Brand New — "New Logo for Gousto", spotted 2017-09-27; circle, geometric, lowercase, monogram)
Components
Six controls were checked; five were measurable on the logged-out public surface. A search input
was not found — the only <input> elements reachable while logged out (homepage and
/cookbook/recipes) are a hidden coupon-toggle radio and four filter checkboxes; no visible
text/search field exists without logging in.
- Primary CTA — "Get started" (hero): rest
#615cfffill,#fffffftext, 8px radius, 48px height,10px 24pxpadding, 18px/400. Renders at 8px though--Gousto-button-border-radiusdeclares 3px — the token doesn't match the live control. Hover and pressed both deepen the fill to#412dee; pressed adds a0 0 0 3px #412deeshadow; focus adds a white inset ring (0 0 0 1px #ffffff) plus a2px solid #412deeoutline. - Nav links — "Recipe boxes" and "Box prices" (top nav, red header): transparent background,
#fffffftext, 3px radius, 20px height, 14px/700. Hover shows no visible change, confirmed. Pressed and focus both draw a0 0 0 3px #412deeshadow ring, even against the red header background. - "How it works" dropdown trigger:
#fffffftext, 24px height, 18px/400. Hover not measured. Pressed and focus both add a white inset ring (0 0 0 1px #ffffff) plus a2px solid #412deeoutline — the same treatment as the primary CTA's focus. - "Login" (ghost/text button, top right): transparent background,
#373a3ctext, 35px height, 0px radius, 13px/400. No hover or pressed change measured. Its focus ring is the browser's default (outline-style: auto) — the only control here without an authored ring. - Recipe card link (
/cookbook/recipes): the whole card is one anchor, 402px tall. Rest:#615cfftext, an asymmetric border — top/left/right#615cff, bottom#c0c5c9— reading like a card-shadow-as-border trick. Hover and pressed both turn the text and border#3e3ac2(--color-BlueBaseDarker). Focus draws the browser's default blue ring, inconsistent with the purple ring used on nav and CTA controls.
States
Five controls measured. Hover: unchanged on the two nav links, #412dee fill on the primary CTA, no
data on the dropdown trigger or Login, #3e3ac2 on the recipe-card link. Pressed: a #412dee ring
on CTA and nav links, #3e3ac2 on the card link. Focus: an authored #412dee-based ring on CTA, nav
links and the dropdown trigger; the browser's own default ring on Login and the recipe card, with no
brand token assigned to either.
Do's and Don'ts
Do
- Use
#615cfffor the primary action and#412deefor hover/pressed/focus. - Set body copy in
#516272, not the nav ink#373a3c. - Put a
0 0 0 3px #412deering (or the white-inset +#412deeoutline pair) on focusable controls that already carry one.
Don't
- Don't assume the CTA's 8px radius matches the declared 3px button-radius token — they disagree.
- Don't copy
--NeutralGrey_500's malformed quoted value; use#7d7e7f. - Don't call the design system "Zest" — that name could not be verified for Gousto and is not used here.
- Don't treat
#0275d8as a brand colour; it reads as a stray default link colour.
Voice & Tone
Not assessed as authored voice. The only first-party line captured is the hero banner "Meet the New Gousto," undated and unexplained on the page itself.
Agent Prompt Guide
Quick Color Reference
#615cff primary · #412dee highlight/hover · #eae9ff primary surface · #516272 body text ·
#373a3c UI text · #000000 black · #f4f7fa light surface · #333d47 / #11161b dark sections ·
#ced4d9 border · #ffffff canvas · #ff0032 red ribbon · #01a92b green · #7d7e7f grey ·
#0275d8 stray link blue
Example Component Prompts
- "A 48px button:
#615cfffill, white 18px/400 Axiforma, 8px radius; hover and pressed#412dee; focus adds a white inset ring plus a 2px#412deeoutline." - "A recipe-card link:
#615cfftext and border, turning#3e3ac2on hover, 402px tall."
Governance
Known Gaps
- Contrast,
link-ghost. Text#373a3con#00000000measures 1.83:1, below the WCAG AA 4.5:1 minimum for normal-size text. Recorded as measured, not adjusted.
Use it with your agent
Save the file as DESIGN.md in your project root, then ask your agent to follow it for UI work. Or let the agent fetch it over MCP.
Download
MCP server
MCP tool call
Related Design.md files
MUJI (無印良品)
Brands · Helvetica Neue
MUJI — Mujirushi Ryohin (無印良品), "no-brand quality goods" — is the rare retailer whose entire visual identity is an argument against visual identity. Founded in 1980 as a product line inside the Seiyu supermarket…
ByteDance
Brands · ProximaNova
Global content platform design with bold red-and-black identity, creator-economy surfaces, dynamic motion, and algorithm-powered UX.
Douyin (抖音)
Brands
Douyin is dark-first, and not as a theme option — the dark surface is the product. Video is the content, so the chrome gets out of its way: near-black #161823 canvas, panels a step lighter at #252632, and text that…
Grip
Brands · Pretendard
Korea's first live commerce platform — a mobile-first video shopping app where sellers and buyers connect in real time through livestreams, chat, and exclusive in-broadcast deals.
PayPay (ペイペイ)
Brands · Noto Sans JP
PayPay is Japan's dominant QR-code mobile wallet — the app that, almost single-handedly, dragged a famously cash-loving country into cashless payments. Its visual language is loud where Japanese fintech is…
さくらインターネット
Brands · Noto Sans JP
さくらインターネット is a Japanese internet-infrastructure company whose public story began in 1996, when its founder started by building servers and lending them to friends. Today its public ecosystem spans hosting, cloud,…