← Back
Case study

CellMed

A mobile and desktop app for CellMed, a medical aid provider, giving members one place to check their digital membership card, medical savings balance, claims, contributions and benefits.

UX ResearchUX/UI DesignDesign Systems

2025

Role

Sole UX/UI designer on CellMed, working directly from the client's functional specification through to flows, requirements and the design system, with no separate research or product function on the account.

The problem

CellMed's brief was a functional specification, not a design: a line-item list of data fields for claims, membership, finance and benefits, illustrated with the client's own placeholder sketches rather than real UI direction. The document said as much itself, noting it was still to be refined to add the client's UX/UI. Underneath the field lists sat a genuinely complicated product. A single claim carries three different figures (amount claimed, amount awarded, amount payable) plus a disbursement type that decides whether the payout goes to the member or the provider. Contributions and banking details run in two currencies, USD and ZiG. And every one of these views had to work as both a mobile app and a desktop experience from one system, not two separate builds, which was an explicit requirement from day one.

The goal

One coherent member experience, on mobile and desktop, that turns a spec written as data fields into flows a member can actually follow: what's in my medical savings account, what happened to my last claim, what am I covered for, and what do I still owe.

CellMed Contributions screen shown on an iMac
CellMed Dashboard shown on a laptop
CellMed Dashboard with the navigation menu open, shown on a phone

User research

With no existing UI or prior research to build on, the functional spec itself was the primary source. I worked through it service area by service area, claims, membership, finance and benefits, mapping the flow behind every field list before any screen design started, and translated what that surfaced into the structured product requirements the rest of the design works from.

Component library

The system is device-aware from the token level up: the button spec sets mobile at 48px tall and full width, for CTAs and forms, and web at the same 48px height but a 120px minimum width, for actions like confirm and save, so the two surfaces share a component without sharing a size. The library itself is complete — alerts, modals, navigation, tags and more, alongside buttons and selectors — and what follows is a snapshot of two of those sets: buttons (primary, secondary, text and warning variants, every state) and selectors (checkboxes, radio buttons, toggles, segmented controls).

CellMed design system: the Button component set, with large and small sizes across primary, secondary, text and warning variants, every state, button groups, and a device sizing key for mobile versus web
CellMed design system: the Selectors component set, covering checkboxes, radio buttons, toggles and segmented controls across default, hover, disabled and error states

Key decisions

1

Turned a field list into flows, not screens

The spec described what data each screen needed to show, not what a member does with it. Before any UI, I mapped a flow for every service area, so a requirement like "view specific claim details" became an actual path: search or filter, open a claim, see why the awarded amount differs from what was claimed, see who it was paid to. Those flows became the product requirements the rest of the system was designed against.

The CellMed Claims screen shown on a laptop
2

Designed one system for two surfaces, not two products

Mobile and desktop were both explicit requirements from day one, for a member base that moves between checking a claim on their phone and doing an annual benefits review at a desk. Rather than a mobile app with a desktop version bolted on after, the component system was built to hold both from the start, so a claims list or a benefits breakdown reads correctly at either size.

3

Made a claim's money story legible

A single claim line carries three figures, amount claimed, amount awarded and amount payable, plus whether the payout went to the member or their provider. Left as a data table, that is four numbers a member has to reconcile themselves. The claims flows were designed around making that story readable at a glance, not just available on request.

4

Built the finance view around two currencies

Members' contributions and banking details run in both USD and ZiG, so the finance and contributions views had to hold two currencies clearly side by side, rather than defaulting to one and burying the other.

Desktop & mobile

Five flows shown as built, on both surfaces: the same screen, the same data, sized for where a member actually is.

CellMed Dashboard on desktop: a welcome header, the member's plan and membership number, medical savings account balance, and shortcuts to options, benefits, claims and contributions
The same CellMed Dashboard on mobile, with the same plan, savings balance and shortcuts stacked in a single column
CellMed Claims screen on desktop: member and dependant selector, month filter, and a claim card showing claim number, practice, party paid, date received, amount claimed, insurer and approved status
The same CellMed Claims screen on mobile, with the member selector collapsed into a summary row and bottom tab navigation
CellMed Benefits screen on desktop: Ex-Gratia, Overall Annual Balance and MSA Balance, each showing available balance, percentage used and annual limit
The same CellMed Benefits screen on mobile, with the same three balance cards stacked in a single column
CellMed My Policy screen on desktop: policy information, plan details, current subscription and covered members, plus a terminated-plans history
The same CellMed My Policy screen on mobile, with covered members expanded to show all three dependants
CellMed Dependents screen on desktop: Active/Terminated/All filter, a dependant's details expanded, and a Suspended list below
The same CellMed Dependents screen on mobile, with the same dependant details and Suspended list stacked in a single column

What I learned

  • A functional spec is not a design brief. A field list tells you what data exists; it does not tell you what a member is trying to do when they open the app. Mapping the flows first, before any screen, is what turned a document that was "not too helpful" on its own into something designable.

  • Building for two surfaces from day one is cheaper than retrofitting later. Deciding early that mobile and desktop would share one component system, rather than designing mobile and bolting on desktop, kept the two from drifting apart as the requirements grew.

  • Financial data needs a translator, not just a table. Claimed, awarded, payable and disbursement type are four real numbers a member has to reconcile; the job was making that reconciliation obvious rather than technically available.

  • Being the sole point of contact meant every question went straight to the client and every answer came back the same way, no relay through a PM or a research team. The lesson for next time is to use that directness earlier: put clickable flows in front of the client before the spec's interpretation hardens into requirements, not after.

CellMed My Profile and Dependents screen shown on a laptop
CellMed Dashboard shown on a phone

What’s next

  • Usability testing with real members, particularly around the claims and benefits flows.

  • Push notifications for claims updates and payment reminders, and downloadable claims and contribution statements — both flagged in the original brief.

  • Digital wallet and payment gateway integration for contributions, the other item the brief left for later.