Deck · 0–1 brand and product
I helped Deck grow from an energy bills aggregator into a global platform for user-permissioned data access, and built its brand from zero.
As founding designer, I worked for 8 months with the founder, a PM and the engineering team, leading the brand, the product and its first design system.
About the product
Deck gives platforms API access to their users’ utility data, with each user’s permission: usage, charges, payments and tariffs in one standard format, across 100K+ providers in 40+ countries. It had three products:
Problem
Every gap ended up as a support ticket.
Connection flow
Connecting an account meant handing users to their provider’s login, then a long, silent wait, so many gave up, unsure it was still working. I split the connection into named steps, with progress tied to real connection states and messages saying what the system was doing at each moment.
The prototype below plays the full connection on a loop, rebuilt from my Figma flow.
Drop-off during connection fell substantially. The connection itself was not made meaningfully faster. What changed was that people could see it was working, so they stopped giving up on it.
When you can’t make a wait shorter, make it legible.
Link Editor
Every client needed the connection flow to behave differently — different countries and provider types, whether their users pick individual accounts, how often data refreshes. Building each variant by hand meant bespoke design and engineering for every new client, which would not scale.
I designed the Link Editor, a configuration tool that lets clients shape the flow themselves, with a live preview of every step — consent, login, loading, MFA, account selection, success — updating as settings change. It turned a bespoke build into a product surface.
One configurable flow instead of a bespoke build for every client.
The prototype below is clickable. It plays through on its own; click any step, toggle or language to take over and see the preview update.
To show how Deck Link could live inside a client’s own product, I designed an example of use for Qonto: their users would pull invoices from providers without ever leaving the app. The hard part was trust, since people would be handing over provider credentials inside someone else’s product. I designed the consent step to state plainly what happens — credentials are never stored, access lasts for that session only — and added bulk retrieval by date range, so a user connects once and pulls a year of invoices instead of repeating the flow.
Platform
Clients monitored utility connections across many accounts and sites. I designed the platform around connection health first, with any account one click away.
Three views did the work. The overview showed status and consumption at a glance. Sites handled bulk onboarding: a table filterable by city, country and status, CSV import, and connection requests emailed to site managers automatically. Analytics tracked health over time and broke logins down by outcome — valid, invalid, MFA required and other errors — separating authentication problems from provider-side errors.
A client should be able to tell, without contacting us, whether the problem is theirs, the user’s or the provider’s.
The prototype below is clickable. It plays through on its own; use the sidebar to switch between consumption, sites and analytics, filter the data or add a site.
Issue reporting
When data looked wrong, users had no way to report it in context, so issues went to manual support and slowed resolution. I designed an inline flagging system: colour-coded flags by severity and type, with issue reporting built into the flagged data point itself — report, confirm, and track resolution without leaving the table.
Flags are categorised and colour-coded to communicate the severity and type of issue at a glance.
The animation below follows one issue from flag to resolution, rebuilt from my Figma flow.
Report the problem where you see it, not in a support queue.
Design system
Deck had no design foundation: no components, no shared patterns, colour and spacing decided ad hoc. As the product, marketing site and prototypes grew in parallel, that would have meant constant rework and drift. I built the first design system from scratch: reusable, documented components with their states and edge cases considered, working across product, marketing and prototypes, so a small team could extend it without redesigning each time.
A small team moves fast when nothing has to be designed twice.
Brand & website
Deck sold a highly technical product, and the brand had to make it feel considered and trustworthy rather than cold. I built the visual language out of the product itself — the data structures it handles — so the identity and the interface share one logic.
Rewind, Stream and Studio each got a mark built from the brand’s simple geometric shapes, with a hover micro-interaction that hints at what the product does. Hover a card below to try it.
A technical product earns trust when it looks considered.
Vector illustrations worked as mini-infographics, explaining the product’s use cases at a glance, with a vibrant palette keeping each element distinct. Below, they are animated to show how each one works.
I designed the marketing site in the same visual language, covering the homepage, product, use-case, pricing and contact pages. Its key feature was the provider lookup: visitors could check whether Deck supported their provider before signing up, and request one if it didn’t.
The animation below plays the lookup on a loop: a supported provider, one that isn’t, and the request to add it.
Outcome
As founding designer, I delivered Deck’s first complete product and brand system: the visual identity, a documented component library, and the core workflows for connection monitoring and issue reporting. The design system let a small team ship consistently without rebuilding from scratch each time, and the inline flagging system turned issue reporting from a manual, support-heavy process into something users could do in context.