Create
Internal document

How Cadence was decided

The research, strategy and design reasoning behind every screen in this prototype. Written for the client demo, the investor deck and the engineers who will estimate it.

Version 1.0 · August 2026

1 · Executive summary

The thesis

Email is the highest-margin channel in retail, yet the tools that run it split into two unhappy camps. Mailchimp and Constant Contact are approachable but shallow on lifecycle and revenue; Klaviyo and ActiveCampaign are powerful but priced and structured for teams with an operator on staff. Reviewers on G2 and Reddit converge on the same three grievances across all of them: pricing that punishes list growth, contact counting that bills you for people you cannot mail, and builders that fight you.

Cadence is designed against those three complaints. Billed on sends rather than stored contacts, never charging for unsubscribed or cleaned addresses, with a builder and a journey canvas that share one visual language and one set of numbers.

2 · Industry research

Why customers buy

Owned-audience revenue with no media cost, predictable at a per-recipient level. Buyers do not want 'email software' — they want a repeatable weekly send plus four or five automations that run unattended.

Terminology that must be native: audience, segment, tag, journey, delivered, open rate, click rate, click-to-open, bounce (soft/hard), complaint, unsubscribe, deliverability, suppression, sunset, frequency cap, revenue per recipient, attribution window.

Why they leave

Mailchimp → Klaviyo: no real ecommerce data model, weak revenue attribution, price steps that surprise at 10k and 25k contacts, audience duplication across lists.

Klaviyo → Brevo: cost at scale, and complexity a two-person team cannot maintain.

ActiveCampaign → anything: automation builder power is genuinely high, but campaign reporting and email design feel dated.

Everyone → churn risk: deliverability problems they discover only after revenue drops.

Roles and workflows

Owner-operator (small business): plans a send on Monday, builds Tuesday, sends Wednesday. Wants defaults, not decisions.

Ecommerce lifecycle marketer: lives in journeys, segments and revenue per recipient; needs product data joined to contacts.

Agency team: multi-client switching, approvals, white-label reporting, permissioned access with no billing rights.

3 · Competitive analysis

Baseline — present in 80%+ of the field

Contact database with custom fields, tags, live segments, suppression and cleaning. Drag-and-drop and plain-text email editing. Test sends and inbox rendering. Scheduling with time zones. A/B testing on subject and content. Multi-step visual automation. Signup forms, pop-ups and landing pages. Campaign reports with click data. Deliverability authentication (SPF, DKIM, DMARC). Ecommerce integration with revenue attribution. Roles and permissions. Open API and webhooks.

Most loved, most requested, most complained about

Loved: Klaviyo's segment builder and revenue reporting; Mailchimp's onboarding; Brevo's price; ActiveCampaign's automation depth.

Requested: send-time control per contact, frequency caps, journey-level revenue, better mobile app, sane duplicate handling, transparent deliverability.

Complained about: contact-based pricing, billing for unsubscribed contacts, slow builders, reporting that disagrees with the store's own numbers, support quality at the low tier.

Openings we take

Send-based pricing with unsubscribed and cleaned contacts free. Frequency caps and sunset automation as first-class objects rather than hidden settings. Per-step journey revenue. Deliverability shown continuously in the top bar, not buried in a settings page. One attribution window, stated on every screen, so numbers reconcile with the store.

4–6 · Vision, strategy, personas

Vision

Every brand should be able to run a disciplined email programme — the right message, to the right people, no more often than they will tolerate — without hiring an operator to run the tool.

Success metrics

Activation: first campaign sent within 48 hours of signup (target 65%). Value: two live journeys within 14 days (target 50%). Retention: attributed revenue per 1,000 contacts, month over month. Health: median complaint rate under 0.05% across accounts. Business: net revenue retention above 115%, gross margin above 80% on send costs.

Personas

Nadia, founder of a 12-person clothing label. Sends weekly, reads the money, distrusts dashboards that flatter her.

Theo, lifecycle marketer at a growing DTC brand. Optimises journeys, wants per-step numbers and test presets.

Priya, designer. Cares only that the builder respects type and spacing, and that mobile is real.

Halden Studio, agency. Needs client switching, approvals and reporting they can put their logo on.

Jobs to be done

When a new collection lands, help me get it in front of the people most likely to buy without burning the list.

When someone browses and leaves, follow up automatically and stop the moment they order.

When the month closes, tell me what email made, in numbers my store agrees with.

When something threatens deliverability, warn me before revenue drops.

Pricing model

Free to 500 sends per month. Growth £24/mo (25k sends). Scale £79/mo (150k sends, journeys, A/B, roles). Studio £249/mo (multi-brand, approvals, white-label reports, SSO). Contacts are never billed; unsubscribed and cleaned addresses never count. Overage is metered per 1,000 sends at the plan rate, not a forced tier jump.

7–9 · Architecture, IA, navigation

Modules

Overview · Campaigns (list, builder, report, A/B) · Audience (contacts, segments, tags, imports, suppression) · Journeys (canvas, steps, guardrails) · Reports (revenue, comparison, deliverability) · Pages & forms · Intelligence · Settings (brand, senders, domains, team, billing, API).

Objects and relationships

Workspace → Audience → Contact (1:N). Contact ↔ Tag (N:M), Contact ↔ Segment (derived), Contact → Event (1:N), Contact → Order (1:N). Campaign → Variant → Send → Event. Journey → Step → Send. Form/Page → Contact (source). Suppression is workspace-level and outranks everything.

Permissions

Owner (billing, domains, delete), Marketer (create, send, edit segments), Designer (edit content, no send), Analyst (read plus export), Agency (scoped to assigned brands, requires approval to send).

10–12 · Features, data model, dataset

Feature tiers

Core: contacts, segments, builder, scheduling, reports, forms, deliverability auth. Recommended: frequency caps, send-time optimisation, pre-flight checks, inbox previews, folders and approvals. Premium: journey revenue attribution, A/B presets, multi-brand, white-label reports, SSO. AI: subject-line coach grounded in the account's own history, sunset recommendations, per-step diagnosis, forecast. Future (excluded from V1): SMS and push, predictive LTV, generative image editing, in-app product recommendation feeds.

Statuses and enums

Campaign: draft, scheduled, sending, sent, paused, archived. Contact: subscribed, non-subscribed, unsubscribed, cleaned. Journey: draft, live, paused. Send event: delivered, opened, clicked, bounced (soft/hard), complained, unsubscribed.

Dataset rules

Every figure in this prototype is internally consistent: clicks < opens < delivered < sent; click-to-open sits between 8% and 20%; open rates land between 29% and 68% by segment quality, never 90%; unsubscribe rates are shown to two decimals because that is the scale at which they matter.

13–16 · Design philosophy, system, copy

Philosophy

Warm paper ground rather than the industry's cold white, deep evergreen ink, and a single amber used only where attention must go. Editorial serif for numbers and headlines, humanist sans for interface text, monospace for segment rules. It should read like a well-set document, not a control panel — closer to Stripe's restraint and Mercury's calm than to any incumbent.

System

Type: Instrument Serif display, Instrument Sans UI, JetBrains Mono for rules and codes; tabular numerals everywhere a figure appears. Spacing: 4px base, 20px card padding, 24px gutters. Elevation: two levels only — resting card and overlay. Motion: 150–260ms, ease-out, no bounce, no decorative animation. Charts: two-hue maximum plus one alert colour; grid lines horizontal only. Accessibility: AA contrast on all text, visible focus rings, full keyboard paths, no colour-only status. Dark mode is a first-class theme, not an inversion.

Copy

Voice: a competent colleague. Plain, specific, never breathless. Buttons name the outcome — 'Schedule send', 'Save as segment', 'Send a test'. Success messages state the consequence: 'Scheduled for Thu 13 Aug, 08:00 BST · 38,610 recipients'. Errors state cause and remedy. Empty states teach the next action rather than apologise. No exclamation marks, no 'oops', no emoji.

17–24 · Screens, prototype flow, roadmap

Built in this prototype

Overview · Campaign list with status filters, search, bulk actions and a two-step create flow · Email builder with block palette, inline editing, inbox preview, desktop and mobile canvas, test send and schedule review · Campaign report with delivery funnel, open curve, client mix, click map, A/B result and recipient activity · Audience with segments, rules, tags, growth sources and contacts · Journey canvas with per-step numbers and guardrails · Reports with deliverability · Pages and forms · Intelligence. Empty, loading, no-results and permission states are handled inline.

Roadmap

Now: email, journeys, forms, revenue reporting. Next (2 quarters): SMS in the same journey canvas, approval workflows, multi-brand switching, predictive LTV segments. Later: retention forecasting, agency client portals, in-journey experimentation with sequential testing.

Implementation notes

This prototype is React with TanStack Router; every colour, radius and shadow is a design token, so re-theming is one file. Data is a single typed fixture module shaped like the production schema — swapping it for API calls does not change a component. Charts are Recharts with tokenised colours. The click map and builder canvas share one email-rendering component, which is how the numbers and the artwork stay in agreement.