Back
Case Study · B2B SaaS · Retail Tech

Focalpay Back-office Dashboard

Designing a cloud-based command centre for managing thousands of SKUs and complex pricing logic

My Role
UX/UI Designer
Company
Focalpay AB · 2024–2025
Platform
Web · Desktop
Methods
Research · A/B Testing
Focalpay Back-office — dashboard on laptop and mobile in a grocery retail setting

Introduction & Context

Command centre for catalogue and pricing

The Focalpay Back-office is the command centre where all business logic — from product catalogues to pricing — is defined before being executed by the POS terminals.

I joined mid-project — the core dashboard shell and navigation patterns already existed when I came in. My scope was the two modules where store teams spent the most time and made the most errors: Product Management (adding and editing SKUs) and weighted campaign creation. I inherited an established design system and was responsible for extending it without introducing regressions, while meaningfully improving the UX of both modules.

My Role & Responsibilities

Scope across research, design, and handoff

My Responsibilities

  • User research with store managers at Matrebellerna, Matvärlden, and Icebug
  • Card sorting sessions to establish data hierarchy
  • Wireframes and mid-fi Figma prototypes for core flows
  • A/B testing of campaign creation flows with 10 store managers
  • Extending the existing design system without regressions
  • Component-level specs and full Zeplin handoff

Methods & Research

Interviews with store managers

I conducted contextual interviews with store managers at Matrebellerna, Matvärlden, and Icebug, combining think-aloud tasks with retrospective questioning.

💬

"I know the data I need, but I spend too long hunting for it."

5 out of 6 managers described the product form as visually overwhelming
⚖️

"It's like doing maths while serving customers."

Manual campaign calculation was the #1 pain point for weighted items
📋

"Every time base prices change, I’m double-checking campaigns by hand — I don’t fully trust the system yet."

5 out of 6 managers described disconnects between catalogue data and promotional rules

Discover

Problems in catalogue and campaign work

Retail managers were struggling with fragmented, legacy systems. The core problem was what we called the "Information Gap" — backend data felt disconnected from the fast-paced reality of the store floor.

01

Information Overload

Managing thousands of SKUs was overwhelming. 40+ fields per product, all visible at once.

02

Complex Campaign Logic

Designing discounts for weighted items was notoriously manual and error-prone.

03

No Single Source of Truth

Product, pricing, and campaign data didn’t line up across tools — teams wasted time reconciling before they could trust what was on screen.

Focalpay Back-office design process: Product & Campaign mapping — card sorting, product hierarchy, and campaign template analysis on a whiteboard

Process

Audit, card sorting, wireframes, prototype, A/B test, handoff

Joining mid-project meant I couldn't start from scratch. My process had to be additive — building on what existed while elevating the most problematic modules.

01

Audit

Reviewed existing module designs, identified inconsistencies and UX debt versus the established design system.

02

Card Sorting

Ran 2 card sorting sessions with 4 retail managers each to establish data hierarchy for the product form.

03

Wireframes

Low-fi wireframes for 3 layout concepts for Product Management. Validated internally with PM and engineers.

04

Prototype

Mid-fi Figma prototypes covering core loops: add and edit products, create and review weighted campaigns.

05

A/B Test

Tested 2 campaign creation flows with 10 store managers. Measured task time, error rate, and SUS score.

06

Handoff

Component-level specs aligned to existing design system. Full Zeplin handoff with interaction notes.

Product & Campaign Redesign

Hierarchy for SKUs and templates for weighted pricing

Product list & details
Back-office UI: product list, product details tabs for information, supplier, and categories
Weight campaigns
Back-office UI: product list in category, campaign creation flow, and campaigns overview

Representative UI from the modules described above: the product catalogue and detail views where information hierarchy was redesigned, followed by weighted campaigns — list, creation flow, and overview.

Product

Hierarchy for the product form

The product form had 40+ data fields per SKU, all visible at once — creating a wall of inputs that paralysed users. Card sorting revealed what managers actually needed upfront.

TierKey FieldsDisplay Rule
CriticalPrice, PLU/EAN, Stock Level, Active Status, Product NamePrimary form — visible on load
StandardWeight/Unit, VAT rate, Campaign status, CategoryVisible below the fold
AdvancedSupplier ID, Barcode format, Internal Article NumberCollapsed accordion — on click

"Moving stock level to the top sounds like a small thing. For us, it saves 20 minutes a day."

— Assistant Manager, Matvärlden

Campaigns

Templates for weighted campaigns

After analysing 3 months of campaign data, I found that 94% of weighted campaigns fell into just two patterns. So I built a template-based builder around them — hiding the complexity entirely.

TemplateLogicUse Case
Template ABuy over X kg → pay Y SEK/kgNear-expiry items · Bulk purchase
Template BBuy under X kg → pay Y SEKPremium deli · Small-portion buyers

Validation & Outcomes

A/B test, quotes, and metrics

Focused specifically on creating weighted campaigns — the same problem space as the Campaigns section above.

Variant A · Tabular Form
4m 20s

Avg task time. 3.6 errors/session. 2/5 would use daily.

✓ Variant B · Template Builder
3m 14s

Avg task time. 0.8 errors/session. 5/5 would use daily.

"The campaign builder finally speaks our language."

— Store Manager, Icebug
25%

Faster campaign creation — average task time reduced from 4m 20s (Variant A) to 3m 14s (Variant B) across 10 store managers in A/B testing.

78%

Fewer errors — error rate dropped from 3.6 errors per session (Variant A) to 0.8 (Variant B) in the same testing sessions.

Stock level visible in 1 click

Previously required navigating 4 levels; now surfaced in the primary product form based on card sorting results. One assistant manager at Matvärlden estimated this saves approximately 20 minutes per day across their team.

Reflection & Lessons Learned

Lessons learned

01

In B2B design, language is UX.

The template builder didn't win because it had fewer fields — it won because it used the words store managers already used. "Bulk purchase deal" is not a UX pattern, it's a vocabulary choice. But it changed how confident people felt using the tool. If your interface uses the language of the database, it will always feel like a backend tool, no matter how polished the components are. If it uses the language of the person's job, it will feel like their tool.

02

Joining mid-project is an underrated skill

Being a "guardian of consistency" — extending without reinventing — is as valuable as building from scratch.

03

The best UX win was the simplest

Moving "Stock Level" 200 pixels up the form saved managers 20 minutes a day. Radical improvements often live in the smallest changes.

Design System & Interface Screens

Foundations, components, dual themes, and specification sheets

Dark mode

Back-office product detail UI in dark mode

Light mode

Back-office product detail UI in light mode

The back-office was specified and shipped in two full visual themes: Dark mode and Light mode. The same components, spacing, and interaction patterns apply in both — with token-level colour and surface roles so store teams can work comfortably in different lighting and accessibility preferences.

Below are five specification sheets from the project: foundations (colour, typography, spacing, radius), buttons, inputs and forms, then the product detail pattern shown in both themes.

Sheet 01 — Foundations · Colour, typography, spacing, radius
Design system foundations: brand and semantic colours, typography scale, spacing scale, border radius
Sheet 02 — Buttons · Primary, secondary, tertiary, states, sizes
Design system: button components — primary, secondary, tertiary, all states and sizes
Sheet 03 — Forms · Text input, checkbox, radio, keypad, pagination, tabs, breadcrumb
Design system: form inputs, checkboxes, radio, keypad, pagination, tabs, breadcrumb
Back