Business banking, rebuilt, then measured

A 2024–2026 platform redesign that became a configurable design system, and the marketing site as it turned from a manifesto into a product.

Role
Head of Design /
Founding Designer
Team
  • Andrey Schegolev
  • Alexandr Volynin
  • Elena Bakulina
  • Vladimir Belyakov
Surfaces
  • Responsive web
  • iOS
  • Android
Recognition
  • Banking Tech Awards USA 2026
  • Best User/Customer Experience Initiative for Business

Unlisted page, please keep it within the team. Figures are relative, not absolute.
The white-label partner is under NDA; the themes shown are neutral demonstration themes.

Rebuilding a business banking platform that had outgrown its interface

The situation

By 2024 the product had been shipping features for years on an interface that was never structured to hold them.

The symptoms were everywhere — cluttered tables, inconsistent placement, a dashboard nobody liked — but symptoms were not the problem worth solving.

Outcome

It shipped in two stages. First the platform: dashboard, accounts as their own section, payments, history, documents, recipients, teammates, analytics, settings, every details card and every flow, plus mobile web and redesigned skeleton screens. Then, separately, the reworked sign-up and onboarding flows. The iOS and Android apps followed in 2025.

What was actually wrong

I went looking for constraints rather than complaints, and found four that explained most of the surface damage.

The navigation had a ceiling. The number of visible menu items was limited by screen width, and below 1280 px it degraded badly. Every new section made it worse.The interface could not grow because the navigation could not grow.

The grid forbade small things. Dashboard widgets couldn't be narrow — the layout structure didn't allow it — so every widget was large and information-poor.We had a dashboard with low density and no room for anything new.

Placement followed leftover space. Calls to action, app links, average balance: these had been added after the fact, wherever room remained.Their position expressed the build order, not their importance.

Tables broke below desktop. On tablet widths content blurred together and the number of readable characters dropped to an unacceptable level.Below 1280 px the history table stopped being readable at all.

None of these could be fixed inside the existing frame.
That is what made it a redesign rather than a clean-up.

Before the redesign: dashboard
Before. The interface as it was in 2023: top navigation with a width ceiling, single-column dashboard, products and settings piled into the bottom-left corner.

The decisions I'd defend

Each area had a long list of changes. These are the ones where the choice was genuinely difficult.

A two-column dashboard. The single-column structure was the reason widgets had to be large. Moving to two columns let medium and small widgets coexist, made room for engagement banners, and allowed two new widgets — important notifications and payments — that had no home before. The cost was rebuilding every existing widget's content model.

Accounts became a section. Accounts had been living on the dashboard because flows started there. That made the dashboard a list manager and left no room for sorting, filtering or blocked-account states. Giving accounts a dedicated section cost a click and bought an entire surface for problems that had been accumulating for years.

Navigation moved left, entity switching moved up. Sections went to a left rail with scroll, which removed the width ceiling. Switching between legal entities moved into the header, aligning with how web applications behave generally, and every entity and product got one place of its own — a "Netflix page" for choosing a company or opening a new one. The bottom-left corner, which had quietly become a dumping ground, was emptied.

The header became a launch point. A single action button starts any main flow from any section, not only money transfers. The left side of the header now holds what the plan costs the client: average balance and any unpaid fees, where they are seen every day instead of being found in settings.

PDF with the full changelog and more process details

What it looked like for the team

Three designers, from January to mid-February 2024, with the files handed to development on 15 February — ahead of the sprint plan. These are the weekly reports to the CTO from those weeks.

How it went

From the first concept to the white-label system, by the big reviews and acceptances.

  1. Concept · Oct–Dec 2023

    Redesign kicked off in its own file.

    Dashboard prototype presented to leadership.

  2. Build · Jan–Feb 2024

    Redesign epic agreed with engineering.

    Designs handed over on 15 Feb, ahead of plan.

  3. Ship · Mar 2024 – Apr 2025

    New palette approved.

    Web redesign shipped.

    Apps tested for release.

  4. In use · 2025

    No rebuilds, only features on top of it.

    Then a client wants it configurable.

  5. System · 2026

    Geist chosen as the new typeface.

    Colour presets and the configurator.

    All files on the new type and colour in two weeks.

    Banking Tech Awards USA. New logo.

What we removed

Three decisions I consider more informative than anything we added.

Recipient type tabs were removed. The system had tabs for business and individual recipients plus a drafts section. In practice people wanted one sortable list and treated drafts as a junk drawer. We replaced the tabs with filters and deleted the drafts area.

The avatar upload flow was cut. It needed a rebuild anyway, but that wasn't the reason: once we looked at actual usage, the share of people who had ever used it did not justify maintaining the flow.

A third case is subtler, and I like it more.

Transaction labels — the feature that lets people categorise their spending — were barely used, so the column reserved for them sat empty in the real product while other data had nowhere to go. We didn't delete the feature. We demoted it: labels moved into the detail cards, and the width they had been holding went back to content people actually read.

All three are small, and all three come from the same instinct: decide from behaviour, not from the org chart of the UI.

What we aimed for

The main wishes for the new interface, arrived at after long rounds with stakeholders. Four workstreams carried them.

Palette and type, simplified. Fewer colours and type styles, lighter and easier to read.

UI kits rebuilt from scratch. Desktop, mobile web and native apps.

Every section redesigned. All banking sections, not a selected few.

Every flow reworked. One block-based pattern for all user flows.

The result

After the redesign: dashboard
After. Left rail with scroll, entity switcher in the header, a two-column layout with room for notifications and payments. The product has light and night themes; switch this page's theme to see the other one.

Flows became blocks with a preview of what comes next. Users could not estimate how long a flow would take, and recovering a value entered two steps back meant pressing browser-style back and risking the rest. The new structure shows completed steps as compact blocks, keeps key entered data visible throughout, and previews what remains. The motion between blocks and the automatic focus on the next field were part of the decision, not decoration: they keep the eye where the work is.

Send money. Completed steps stay on screen as compact blocks, so a value entered two steps back is one click away and the rest of the flow is visible ahead.

Design in motion

The redesigned interface in motion. Click to open full size.

How we structured it

Four libraries share one token vocabulary: desktop, mobile web, iOS and Android. Mobile web has its own component layer rather than a shrunken desktop — a functional mobile web version is rarer than it should be in fintech, and we kept it first-class. Product files consume the libraries and never redefine them, so a change to a token reaches every surface at once.

components in the desktop library
258
variants across them
2,647
libraries on one token set
4
components in mobile web alone
370
Library cover: Desktop UI-Kit Main Library cover: Mobile Web UI-Kit Library cover: iOS UI-kit Library cover: UI-kit Android
One system, four libraries. Desktop, mobile web with its own component layer, iOS and Android, on a shared token vocabulary.
Small parts of the large system. It reaches past the screens: generated PDF documents, transactional emails and skeleton loading states draw on the same tokens, so a statement, an email and a loading dashboard look like one product.
Mobile web: home and balance1 · Home and balance
Mobile web: success screen after a flow2 · Success screen after a flow
Mobile web: two-factor authorisation3 · 2FA authorisation
Mobile web: planned payments4 · Planned payments
Mobile web has its own component layer, not a scaled-down desktop.

Last but not least: mobile apps

The apps were the one part I deliberately handed over — and then had to provoke.

The app update was Andrey's, and most of it ran well with almost no input from me. Except the start: his first mockups read like a polish, not a redesign.

So, after agreeing it with the CTO, I drew my own version of the app — deliberately contentious in exactly the places that needed to move — and showed it as a serious proposal.

App: home1 · Home
App: notifications hub2 · Notifications hub
App: profile and settings3 · Profile & settings
App: switch company4 · Switch company
App: main menu, first option5 · Main menu option
App: main menu, second option6 · Main menu option
App: actions submenu7 · Actions submenu
App: actions submenu, second option8 · Actions submenu

It worked. Andrey pushed back hard, and the new app grew out of that argument.

The app as it shipped, Andrey's screens:

Shipped app: home1 · Home
Shipped app: recipients2 · Recipients
Shipped app: incoming transfer3 · Incoming transfer
Shipped app: send money: amount4 · Send money: amount
Shipped app: supporting documents5 · Supporting documents
Shipped app: settings6 · Settings
Shipped app: document details7 · Document details
Shipped app: teammate limits8 · Teammate limits
Shipped app: statements9 · Statements
Shipped app: select country10 · Select country
Shipped app: custom statement11 · Custom statement
Shipped app: history12 · History
Shipped app: teammate details13 · Teammate details
Shipped app: notifications14 · Notifications
Shipped app: analytics15 · Analytics
Shipped app: success16 · Success

Step two: redesign to white-label system

The 2024 work fixed the structure. It did not yet make that structure a system: the screens were right, but the rules underneath them still lived partly in habit and partly in files. Everything we wanted next — a second surface, a configurable product, a library the team could extend without me in the loop — depended on closing that gap. So the second phase was not a reaction to the first one failing. It was the half of the programme that turns a redesign into something other people can build on.

The 2026 pass was structural rather than cosmetic: a new type system applied by role — headings, body, captions and numerics each mapping to their own style — and a rebuilt component library underneath it, including a parallel library for the mobile web surface, which carries its own component layer rather than a scaled-down copy of desktop.

Who owned what

I ran the research, set the improvement zones and drew the first drafts of the main pages, then built the new UI from scratch — type, colour, base components — and took every stage through stakeholders, the CTO first. Andrey and I turned it into a library: I made new components and handed them over, he finished the states and packaged them, and he assembled the details cards for every entity. For the screen rebuild and the component swap Alexander joined: the three of us split the product into zones by importance and replacement difficulty and moved all of it in two weeks.

It shipped without pausing the release train. Two intermediate reviews and a final pass after the files had settled, specifically to catch what had drifted while the work was in flight.

The test of whether the gap actually closed is the white-label section below. The configuration was only possible because of this phase, and the bank's own current theme is one of its outputs.

Where it ended up: a configurable system the bank itself runs on

The redesign's real dividend wasn't visual. Once the product was genuinely decomposed into tokens, it became configurable — and a major client asked for exactly that, insistently. Demand came first; design had already made it feasible.

What a partner can change. Eight palettes, each a full system — backgrounds, surfaces, text and states coordinated — rather than one brand colour bolted onto a default theme. Seven are partner schemes; the eighth is ours, and I'll come back to it. Five layout configurations, each shifting colour, typography, block styling and navigation together, so the choice is a coherent product rather than a recolour. Thirty-plus type families including a dedicated Arabic set, so Arabic-speaking markets get typography that reads naturally instead of a Latin face stretched to fit. Corner radius, shadow depth, block borders, spacing density, chart types.

Customisation panel, live over the dashboard · Settings → Template: every option on one page · Chart library: the chart types a partner can switch between.
Demonstration theme 1 Demonstration theme 2 Demonstration theme 3 Demonstration theme 4 Demonstration theme 5 Demonstration theme 6
Six of the configurations. Each change previews live against the real interface. Neutral demonstration themes.

The configuration

One panel, applied live. Everything above sits in a single control surface, and every adjustment previews instantly against the real interface — the client sees the actual product taking their brand, not a mockup. Font licensing is visible at the point of choice, so legal clearance happens inside the flow instead of as a separate audit afterwards. Onboarding a new brand is configuration, not a project.

The panel is not where it ends. Every scheme lives on its own technical page in Figma — Cobalt, Fuchsia, Indigo, Azure, Sky, Teal, Mint, and the bank's own — and those pages are the source of truth, not a picture of it. Together with our lead front-end engineer we agreed that the build reads colours straight from them by token: a designer changes a value on the page, and the product picks it up without anyone retyping a hex code. A configurator whose output a developer has to copy by hand is a demo. One that the build reads by itself is infrastructure.

What stays fixed, and why. Flow structure, information hierarchy, required states and contrast are not configurable. A partner buys a proven banking product; the parts that make it work are not the parts they should be able to break. Drawing that line — deciding what the brand owns and what the system owns — was the actual design work.

The proof is that we run on it. Eight schemes exist and one of them is ours: the bank's own upgraded theme is a configuration of this same system, applied as the last layer of the redesign. The product in the screens above is not a reference implementation sitting next to the configurator — it is an instance of it. That is also the honest answer to whether a design system survives contact with a real product: we are the customer that would notice first.

What users told us

Worth reporting in both directions, because only one of them is useful.

Internally, people who use the product daily adapted to the large redesign within a couple of days and described the transition as painless. That is the outcome you want from a structural change: the shape moves, the habits survive.

One specific decision inside the second pass did not land. A shortened side menu — supported by most of the team, including leadership — turned out to be genuinely uncomfortable for daily users. Weeks in, they still hadn't adapted, and said so. We are reverting parts of it.

A solution can look more convincing in a demo than it behaves in daily use.

Reviewing your own work from the outside is not the same as living in it, and the people living in it are the ones to ask.

It was recognised externally. Banking Tech Awards USA 2026: Winner, Best User/Customer Experience Initiative for Business. New York, 28 May 2026.

It was recognised internally, too.

So many statuses — and every one of them beautiful. Seriously good work.

Analytics lead

Required states, disclosures and approvals were designed in from the start, not bolted on after review. That made sign-off faster, not slower.

Compliance lead

Design came to every product discussion with a structure, not a picture. The two-column dashboard settled arguments we'd been having for a year.

Product lead

Pet projects

How I work now

Alongside the team, I run design through my own harness, Design Brain.

It sits on Claude: it turns a design decision into something a coding agent can build without guessing, and then checks what came back.

Review~640 rules

Every layout is reviewed against a library of design rules across twelve lenses — usability, visual, information architecture, motion, copy and others — each tied to its source.

SpecFrom the file

It writes implementation specs that coding agents build from, with values taken from the design file itself, not from memory or a description.

CheckSeen, then done

The agents' output is checked against screenshots and crops before anything counts as done.

git log --since=2026-03
3,323 contributions in the last year, all of them since March — most in private repos. Every tool, site and pipeline on this page is in there.
MarAprMayJunJulAugSep2026-03-01: 02026-03-02: 02026-03-03: 02026-03-04: 02026-03-05: 02026-03-06: 02026-03-07: 02026-03-08: 12026-03-09: 02026-03-10: 02026-03-11: 02026-03-12: 02026-03-13: 12026-03-14: 02026-03-15: 02026-03-16: 02026-03-17: 02026-03-18: 02026-03-19: 12026-03-20: 02026-03-21: 02026-03-22: 02026-03-23: 02026-03-24: 02026-03-25: 02026-03-26: 02026-03-27: 02026-03-28: 02026-03-29: 12026-03-30: 02026-03-31: 02026-04-01: 02026-04-02: 02026-04-03: 22026-04-04: 02026-04-05: 02026-04-06: 02026-04-07: 02026-04-08: 02026-04-09: 02026-04-10: 02026-04-11: 02026-04-12: 02026-04-13: 02026-04-14: 02026-04-15: 02026-04-16: 02026-04-17: 02026-04-18: 152026-04-19: 72026-04-20: 122026-04-21: 262026-04-22: 112026-04-23: 152026-04-24: 242026-04-25: 222026-04-26: 02026-04-27: 02026-04-28: 02026-04-29: 02026-04-30: 02026-05-01: 02026-05-02: 252026-05-03: 52026-05-04: 152026-05-05: 182026-05-06: 22026-05-07: 72026-05-08: 12026-05-09: 122026-05-10: 142026-05-11: 02026-05-12: 02026-05-13: 02026-05-14: 32026-05-15: 02026-05-16: 82026-05-17: 92026-05-18: 82026-05-19: 22026-05-20: 92026-05-21: 132026-05-22: 132026-05-23: 252026-05-24: 112026-05-25: 82026-05-26: 92026-05-27: 72026-05-28: 132026-05-29: 122026-05-30: 102026-05-31: 122026-06-01: 82026-06-02: 142026-06-03: 142026-06-04: 272026-06-05: 22026-06-06: 132026-06-07: 112026-06-08: 92026-06-09: 92026-06-10: 232026-06-11: 142026-06-12: 302026-06-13: 72026-06-14: 82026-06-15: 32026-06-16: 02026-06-17: 52026-06-18: 82026-06-19: 142026-06-20: 52026-06-21: 92026-06-22: 32026-06-23: 02026-06-24: 02026-06-25: 12026-06-26: 52026-06-27: 142026-06-28: 162026-06-29: 172026-06-30: 42026-07-01: 32026-07-02: 292026-07-03: 292026-07-04: 72026-07-05: 332026-07-06: 172026-07-07: 312026-07-08: 02026-07-09: 02026-07-10: 132026-07-11: 152026-07-12: 262026-07-13: 112026-07-14: 52026-07-15: 52026-07-16: 42026-07-17: 02026-07-18: 02026-07-19: 192026-07-20: 142026-07-21: 122026-07-22: 432026-07-23: 372026-07-24: 02026-07-25: 02026-07-26: 162026-07-27: 372026-07-28: 382026-07-29: 52026-07-30: 332026-07-31: 112026-08-01: 62026-08-02: 112026-08-03: 192026-08-04: 02026-08-05: 02026-08-06: 182026-08-07: 142026-08-08: 12026-08-09: 02026-08-10: 12026-08-11: 52026-08-12: 222026-08-13: 632026-08-14: 1112026-08-15: 402026-08-16: 412026-08-17: 542026-08-18: 832026-08-19: 292026-08-20: 82026-08-21: 02026-08-22: 02026-08-23: 222026-08-24: 242026-08-25: 52026-08-26: 12026-08-27: 92026-08-28: 62026-08-29: 242026-08-30: 732026-08-31: 1102026-09-01: 652026-09-02: 372026-09-03: 72026-09-04: 02026-09-05: 02026-09-06: 12026-09-07: 192026-09-08: 42026-09-09: 1192026-09-10: 482026-09-11: 02026-09-12: 02026-09-13: 502026-09-14: 1412026-09-15: 322026-09-16: 02026-09-17: 02026-09-18: 02026-09-19: 02026-09-20: 212026-09-21: 522026-09-22: 532026-09-23: 1142026-09-24: 2092026-09-25: 1662026-09-26: 02026-09-27: 1112026-09-28: 792026-09-29: 0

My own product, outside the bank

And a product I build for designers: Glitchy Brain.

A Telegram bot and a web app over one knowledge base I curate: about 2,000 searchable entries on tools and techniques, 1,900 visual references and 450 styles, linked by 7,000 connections across 133 tags. The bot is open to anyone; the web app is private for now. Next to it run glitchy.computer, a hub of 18 generative tools, and a daily design digest.

Glitchy Brain web app: a search for prototyping with the Figma dossier open
Web app · search with a tool dossier
Glitchy Brain web app on a phone: search results for Cavalry
Mobile · 273 results for “cavalry”
The Telegram bot answering lookups for Blender and Figma
Telegram bot
Bot: open to anyoneWeb app: privatedemo on request