ux case study · b2b saas · europe

Aurora

Recurring-campaign setup dropped from three clicks to one. I put an AI writer inside the email canvas, and brought Aurora in line with the rest of the Helio suite.

Aurora campaign platform

Role

Lead Product Designer

Domain

Marketing technology

Platform

Web · B2B SaaS

3:1
Clicks Reduced
52
Components Shipped
3
Surfaces Reused

What I owned

ResearchInformation architectureUI designDesign systemAI interaction patternsPrototyping
01 · The Complaint

“I spend more time setting up the schedule than writing the actual campaign. By the time it's set, I've lost the creative momentum.”

Senior CRM Manager, hospitality client (discovery interview, week 2)

What was actually broken

1

Fragmented look

Nothing matched, and it got worse once Helio rolled out a suite-wide look Aurora didn't share.

2

Basic features for advanced work

Customers kept asking for depth the old UI could not express.

3

Same job, different flows

The same task looked different depending on where you started. That wore down trust.

scope & hypothesis

I drew a hard box around the work. Two surfaces caused most of the pain: recurring-campaign setup and the email composer. The design system grew alongside them.

in scope

  • Recurring Batch Journey configuration workflow
  • Email composer with in-canvas Helio AI
  • Reusable design system aligned with Helio's brand

out of scope

  • Full re-architecture of the platform (engineering owned this)
  • Reporting and analytics dashboards
  • Multi-channel journeys beyond email (later phase)

Hypothesis

Simplify the two most-used surfaces and match the Helio look: setup speeds up, writers get help where they write, and the product feels like one suite.

  • Fewer clicks to set up a recurring campaign
  • AI writing help inside the canvas, not a separate tab
  • One visual language shared with Helio

★ key insight

The old flow made writers switch modes just to schedule. Meeting them in one place, schedule, write, ship, was the real unlock.

02 · The Window

The window the rebuild opened

Aurora is the campaign-orchestration product of a global martech suite: journeys, segmentation and email automation for hundreds of large European consumer brands. Names are stand-ins, since the real client is under NDA. When Helio acquired the company and began rebuilding its technical foundations, I saw the one chance a designer rarely gets on a legacy product: while the engineers were replacing the plumbing anyway, the experience could be rethought without asking anyone to fund a redesign.

And it needed rethinking. The old product had been built by engineers for engineers, and it showed. Marketers fought through cluttered panels just to schedule a recurring campaign, and the writers had it worst of all: with no AI in the composer, they drafted in ChatGPT and pasted the results back, losing their formatting along the way.

Role

Lead Product Designer

Duration

~5 Months

Team

2 PMs, 5 Devs, 1 QA, 2 Designers

Platform

Web (B2B SaaS · Europe)

Tools

Figma, FigJam

Project Context

The rebuild was the moment to reduce clutter, simplify the flows, and bring the look in line with the rest of Helio.

Primary Users

Campaign Managers

Build and ship recurring campaigns. Need setup fast and results easy to prove.

Marketing Ops Leads

Own the rules and audit trail across brand portfolios. Need consistency everywhere.

Copywriters

Produce on-brand copy. Need help beating the blank page, where they write.

03 · The Audit

What the audit turned up

UX audit of the old product

Before touching anything, I walked every screen of the old product and held it against a single bar: could a first-time marketer ship a campaign without asking a colleague for help? The answer, almost everywhere, was no. Three problems kept repeating.

Config over content

Scheduling and rules came first; the actual message came last.

No shared components

Similar controls looked different on every page. That is a learning problem, not a look problem.

AI lived outside the canvas

Writers copied into ChatGPT and pasted back, losing formatting on the way.

heuristic evaluation

Consistency and standards
Same controls, different behavior on different pages.
3/5
Visibility of system status
Feedback after a save or send was vague or delayed.
2/5
Match with the real world
Jargon and internal names leaked into the UI.
2/5

voices from the team

Product owner

“The rebuild is the window. If we do not simplify now, we ship the old UI in new paint.”

priority
Ship fewer, cleaner surfaces

Campaign lead (customer)

“I do not want more features. I want to ship one campaign in half the time.”

priority
Cut steps in recurring setup

research findings

Time-to-send was the real metric

The number that mattered was how long a campaign took to leave the door.

Writers wanted help, not automation

"Suggest me a subject line" beat "write the email for me" every time.

04 · The Bet

The bet I made

design goals

01

One place, one flow

Schedule and write in the same canvas.

02

Fewer clicks, same power

Cut steps without cutting depth.

03

AI as assistant

Accept, edit, or dismiss. Never automatic.

★ key insight

Marketers do not need a smarter tool. They need a faster one that shares a language with the rest of their day.

05 · Two Surfaces

Two surfaces carried the whole story

hand-drawn sketches

I started on paper: two directions for the recurring flow, two for where AI lives in the composer.

Recurring setup, sketched
Sketch · 01

Recurring setup, sketched

One page, one flow. Schedule and content on the same canvas instead of a wizard.

AI in the canvas, sketched
Sketch · 02

AI in the canvas, sketched

AI shows up as a menu inside the block the writer is working on.

low-fidelity wireframes

Rough layouts to check the flow before applying any look.

Journey type
Lo-fi · 01

Journey type

Pick the kind of campaign in one step. The old flow buried this three levels deep.

Weekly schedule
Lo-fi · 02

Weekly schedule

The schedule you set is the schedule you see.

Helio quick actions
Lo-fi · 03

Helio quick actions

One-tap AI actions inside the block being edited.

final design

Six of the finished screens. Fewer steps, one canvas for schedule and content, and the AI writer right where you type.

Journey type, basic fields
Screen · 01

Journey type, basic fields

One screen to pick the campaign type. The old flow needed three.

Content tab
Screen · 02

Content tab

Pick or draft the email in the same view where you set the schedule.

Properties, weekly
Screen · 03

Properties, weekly

One page for the rules and the schedule. No separate preview.

Composer, empty state
Composer · 01

Composer, empty state

AI is right where the writer starts. No new page, no context switch.

"Make it shorter"
AI · 01

"Make it shorter"

One-tap rewrites for common asks. The writer stays in charge.

AI menu in canvas
AI · 02

AI menu in canvas

The full AI menu opens inside the block. No lost formatting.

01 / 06
06 · The System

The system underneath

Alongside the two flows, I built the Aurora design system in Figma: tokens, components, patterns aligned with Helio.

01 · Color

Color

A focused palette: an evergreen brand mark, a teal primary with a five-step tint ramp, five expressive secondaries, a neutral gray family, and semantic status colors. Every value is a hard-coded token.

Brand

Evergreen
#1A4C49
Rich Black
#292929
White
#FFFFFF

Primary · Teal + tint ramp

Teal
#2B8679
Teal 100
#D5EAE6
Teal 300
#8FCBC2
Teal 500
#4FA99B
Teal 700
#2B8679
Teal 900
#1F6359

Secondary · each with lighter + darker

Gold
#FBEEC2#EBB81B#B78D0B
Pink
#FED6E4#FC7CAE#D6517F
Lime
#C7F0D6#20B965#178C4B
Sky
#C3E6F6#0094D3#0470A0
Poppy
#FBD6D0#F36F60#C44A3C

Grays

Icon Gray
#637285
Disabled Gray
#B1B9C2
Line Gray
#E0E3E7
Background Gray
#F2F4F5
Rich Black
#292929
White
#FFFFFF

Text colors

Rich Black
#292929
Secondary Text
#4A5056
Disabled Text
#A5A8AB

Status · color + soft notification tint

Success
#157841 · #E3F4EA
Error
#EE2F19 · #FCE4E1
Warning
#EB8E1B · #FBEDD8
02 · Typography

Typography

Roboto across the board. Specimens render in the product's Rich Black (#292929) on white, with uppercase and letter-spacing applied exactly as specified.

H1
Regular · 24px · 125%
The quick brown fox
H2 / Category
Bold · 16px · 125% · 0.06em · UPPERCASE
CATEGORY
Block Header
Bold · 12px · 16px · 0.03em · UPPERCASE
BLOCK HEADER
Body
Regular · 14px · 20px
The quick brown fox jumps over the lazy dog.
Body Bold
Bold · 14px · 20px
The quick brown fox jumps over the lazy dog.
Form Field Supporting
Regular · 12px · 16px
Supporting text describing the field.
Subheading / byline
Regular · 10px
Subheading byline text
03 · Spacing

Spacing

A seven-step scale from 8 to 80 px keeps rhythm consistent across layouts. Each white square scales to its token; sits on the Evergreen brand surface.

8
px
16
px
24
px
32
px
48
px
64
px
80
px
04 · Component

Buttons

Primary (filled teal), Secondary (teal outline), and Tertiary (text) across Default, Hover, and Disabled states.

Primary

DefaultHoverDisabled

Secondary

DefaultHoverDisabled

Tertiary / Text

DefaultHoverDisabled
05 · Component

Text Fields

Material-style outlined inputs with floating labels that sit on the border. Supporting/error text beneath each field.

Default

Field label
Placeholder

Supporting text

Focus

Field label
Typing

Supporting text

Filled

Field label
Field value

Supporting text

Error

Field label
Invalid value

Error message goes here

Disabled

Field label
Placeholder

Supporting text

06 · Component

Chips & Filter Chips

Default and selected states for both compact entity chips and toggleable filter chips.

Chips

CategoryCategory
DefaultSelected

Filter chips

DefaultSelected
07 · Component

Segmented Button & Tabs

A three-segment control with one active segment, plus underline tabs with a selected item.

Stepper / segmented

Tabs

Selected · Default · Default
08 · Component

Toggle & Checkbox

An on/off switch and a labeled checkbox shown unchecked, checked, and disabled.

Toggle / Switch

On
Off

Checkbox

Unchecked · Checked · Disabled
09 · Component

Search Bar

A single-line search input with a leading search icon and placeholder text.

Search

10 · Component

Breadcrumbs & Pagination

A breadcrumb trail to the current page, plus numbered pagination with previous/next and an active page.

Breadcrumbs

Pagination

Page 1 of 8
11 · Component

Tracker

A horizontal step tracker with completed steps, a current step, and an upcoming step.

Step one
Step two
3
Step three
4
Step four
12 · Component

Data Table

A header row with three to four line-separated body rows, dividers in Line Gray (#E0E3E7).

NameCategoryStatusUpdated
Item label oneCategoryActiveApr 12, 2026
Item label twoCategoryPendingApr 14, 2026
Item label threeCategoryActiveApr 18, 2026
Item label fourCategoryArchivedApr 21, 2026
13 · Component

Persistent Notifications

Banner notifications for Success, Error, Warning, and Info, each with an icon, message, and dismiss control.

Success
Notification message describing what happened.
Error
Notification message describing what happened.
Warning
Notification message describing what happened.
Info
Notification message describing what happened.

system outcomes

Shipped 52 components. Reused by three other Helio products with zero new design work. New-screen build time cut in half.

cross-product collaboration

Designers on other Helio products started pulling from Aurora tokens instead of building their own.

07 · What Changed

What five rounds changed

Five rounds with more than twenty marketers and writers, each one narrowing the changes. By round four we were arguing about labels rather than layouts, which is when you know the structure has settled.

what changed

Setup dropped 3:1 in clicks. Writers stopped opening ChatGPT. Three sister products picked up the design system.

Aurora recurring campaign, weekly view

five rounds of testing

  1. 1

    Concept check

    Marketers understood the one-page flow immediately, and asked why the old product did not work this way.

  2. 2

    Recurring setup

    Timed the setup. Three clicks dropped to one after we merged the schedule and content step.

  3. 3

    AI in the composer

    Writers wanted control over tone and length, so "make shorter", "more formal" and "rewrite" became one-tap actions.

what went well

  • The one-page flow tested well from round one. The simplest bet was the right one.
  • AI in the canvas landed because it stayed the writer's tool: assist, not automate.
  • The design system got real adoption. That mattered as much as the two flows.

what I'd do differently

  • Run the first user session earlier. Two audit findings were validated in fifteen minutes.
  • Treat the micro-copy pass as its own round from the start. It saved more build time than any layout change.

thank you for reading.

Want the story behind any decision here? I'm happy to walk you through it.