Kirill Bush
/
User experience & product design
Email
Telegram:
in‑Buro

Beefy.finance↗

Sole designer for the entire product – from research to dev review – on a product with 12,000 MAU and $584M TVL. A user deposits an asset into a vault, and the protocol reinvests the rewards automatically, with no manual farming.

Role
Senior Product Designer · end-to-end, sole designer on the product
Team
PM and two developers
Domain
DeFi/web3, yield optimizer
Timeline
February 2025 – August 2026
Platform
Web + mobile web
12,000 MAUmonthly active users
43 featuresnot counting the design system – from discovery to release in a year and a half
202design-system components, 26 sections
Eren

“The design system was good, very organized and instructions were clear. Compared to other designers I have worked with, it was better since we had a clear system.”

Eren

Beefy developer

Beefy home page before the redesign: basic filter set, My Positions tab
Beefy home page after the redesign: pinned Boosts, Blue Chips, Memes, the Min TVL slider, and vault cards

Context

More than a thousand vaults, more than two dozen networks, and a peak user fund volume of $584M.

The entire product lives on a single screen. The home screen is a list of vaults, and almost all of the user's work happens here: they look for a place to put their money and decide whether the yield justifies the risk. Per internal analytics, searching for and evaluating vaults takes up 63% of user time – that's why we started with sorting and filtering.

That's what set the priorities: the work went where the user spends their time – the list, filters, search, and the vault card.

End-to-end product design

I was the sole product designer and ran the design end-to-end – from discovery and scoping to dev review. I worked directly with the product manager and two developers, with no design lead above me.

  • Design system – built from scratch: 202 component families across 26 sections. The product had none before;
  • Interface animation in Rive – button states during long blockchain transactions, micro-interactions, and elements for promo pages;
  • Core product screens – vault list, filters and search, vault card, navigation, network and asset menus – mostly deep rework; Buy crypto, Bridge BIFI, dashboard and Treasury got targeted fixes – mostly padding – without a deep rework;
  • New features – cross-chain ZAP and deposit transfer between vaults, beGEMS, Featured vaults, CLM merge – concentrated-liquidity pools, Safety Score card, wallet connector, message-signing page;
  • Research – usability testing, interviews, competitive analysis; prototypes with variables and conditions, testing in Maze;
  • Responsive design and UI polish – before me the product lived on three breakpoints; I got the interface to use all available space on any screen size and standardized spacing;
  • AI in the workflow – since April 2026, agents for data gathering and deep research; Notion boards where a feature's structure comes together far faster; generating a set of component variants from a rough sketch or a brief, to find a workable direction and take it to the finish;
  • Design handoff – onboarding the developer onto the task, handing off the mockup, dev review after implementation.

Typical task workflow:

  • Research the layout, requirements, success criteria;
  • Collect references;
  • For large tasks – unmoderated UX tests on prototypes in Maze;
  • Draw up use cases;
  • Align with the product manager;
  • Dev review.

A full product review was one of my first tasks: I went through every flow in Figma and logged every problem I noticed on a shared board – along the way, I started to understand how the ecosystem works: networks, platforms, vault types. The product manager went through the board with me: agreeing on some things, not on others, and the backlog took shape through that filter – the first tasks grew out of it.

Everything I did at Beefy over a year and a half

  • Design system, from scratch
  • Cross-chain ZAP
  • Vault to Vault ZAP
  • Sorting & filtering
  • Value Proposition research
  • Enhanced SearchIn dev
  • CLM mergeIn dev
  • Safety Score card
  • Responsive / adaptive layout
  • UI animation & micro-interactions
  • Data visualization (price graphs)
  • New wallet connectorIn dev
  • Navigation menu
  • RPC menu
  • Asset menu
  • beGEMS in nav
  • Featured vaults 2.0
  • Free ZAP campaign
  • beGEMS – In-product campaigns & gamification elements
  • Visual hierarchy – boosted vaults
  • Heading visual hierarchy
  • In-product branding – token visibility
  • Tooltips upgrade
  • Notifications
  • Display “Suggested vaults” for the retired vaults
  • Vaults page review
  • Vaults page
  • Vault page – scoped update
  • Ultimate Vaults
  • Main page
  • Main page :: vault types
  • Curator logos for the Platform
  • Popup overlay
  • Transaction “dust”
  • MegaETH Points banner
  • Wide lanes hiding
  • Spacing system standardization
  • MainPage padding fix
  • Page title fix
  • Withdrawal timer section
  • Boost action in deposit flow
  • Sorting: Current APY control
  • Sign a message page
  • Blogpost

Boosts

Boosts had just launched as an MVP, and the orange accent clashed with the palette. Not an isolated case: there was no consistent color logic across many elements. I built it out in parallel – gathering rules and feeding them into the design system's tokens.

At first there were one to three boosted vaults, simply pinned to the top of the list. Then five to ten, and after Profit Distribution shipped – twenty to thirty at once. The trick that boost visibility relied on stopped working: you can't pin thirty positions to the top.

Usability research

I initiated a field-testing program: I proposed the product manager set up a channel on the product's Discord server (about 10,000 members). That turned a one-off recruitment drive into a standing pool of testers who could be brought into new research without recruiting again. The product manager handled communication with participants; I was responsible for writing scenarios, running the tests, and analyzing results.

The #app-testing channel on Beefy's Discord server: a post about the Field Tester role with 33 reactions, and the product manager's posts linking to both Maze tests
A message on Beefy's Discord server: an invitation to join The Beefy Testing Club, with a link to the Maze test and a promo video
The promo video and the #app-testing channel keep working for every round of research after this one

Unmoderated usability testing

Participants completed tasks on their own time, with no observer or interviewer present. Tool: Maze – it logs every click and misclick, times each task, builds heatmaps, and collects open-ended answers. That gave a scale unmoderated research can't match: 98 user sessions instead of the usual five to eight.

Boosts were tested in March 2025.

Maze report on the boosts research: a list of ten test blocks and metrics for each task
Connections between prototype screens in Figma: a cold vault list and three states of the vault card – default, Boosted 01, Boosted 02 – with variable logic in the Interaction panel
Boosts prototype in Figma: scenario screens and the connections between them – transitions between deposit, boost, and reward-claim states
Maze report for the task "Open the vault that can be boosted": 100% success, metrics, and the navigation map
Maze report for the task "Open the All Available Boosts page": 90.7% success, metrics, and the navigation map
Maze report for the task "Boost a vault of your choice": 95.1% success, metrics, and the navigation map
A prototype built on variables, not a hundred static screens

Results

46 participants.

As usual in Maze, not everyone makes it to the last task.

Task Success Drop-off Time
Open the vault that can be boosted 46 of 46 0 (0%) 12.1 s
Open the All Available Boosts page 39 of 43 4 (9.3%) 12.1 s
Boost a vault of your choice 39 of 41 2 (4.9%) 38.4 s

On top of the quantitative data, I got qualitative feedback:

Boost the deposit automaticallyReframed
(22.9%)8
Don't default the boost field to 0, default to the maximum insteadNot implemented
(11.4%)4
Style available and unavailable tabs differentlyNot implemented
(8.6%)3
Give boosts their own visual styleImplemented
(8.6%)3
Add a "back" button to the navigationNot implemented
(5.7%)2
Pin a banner with the count of active boosts to the bottom of the viewportNot implemented
(2.9%)1
Hide / disable the max button after it's clickedImplemented
(2.9%)1
Show that the deposit needs to be boosted manuallyImplemented
(2.9%)1
Show the projected APR at the end of the boostImplemented
(2.9%)1

Boost satisfaction – 3.6 out of 5 (n=40). I made a methodology mistake here: the question "How satisfied are you with the vault boosting experience?" came right after three prototype tasks – both its wording and its position in the survey meant it could read as a question about the test just taken, not about the real boosting experience in production. Some respondents may have answered one way, some the other, and there's no way to say for certain which. The redesign itself deliberately addressed the complaints users listed.

Filters, sorting and search

Filters, sorting and search – the most heavily used part of the product. I took it on already knowing some of the problems: they were sitting on a board I'd started at a company-wide review and kept adding to throughout the work.

Beefy's home page before the rework, with the filter panel open: Boosted vaults and Min. Underlying TVL checkboxes, and platform selection at the very bottom of the list – the panel covers the table columns
Before, desktop: boost, TVL threshold behind a checkbox, and platforms at the very bottom of the dropdown
Beefy mobile before the rework: vault list, sorting and filters split into separate buttons Beefy mobile before the rework: network filter open with checkboxes, 7 selected Beefy mobile before the rework: Filters modal – Retired Vaults, Boosted Vaults, Moonpot, category and platform
Before, mobile: sorting and filters – two separate components, not connected to each other

Sorting and filters sit above the list – on both desktop and mobile. They're the first thing to scroll out of view, so adjusting the results means scrolling all the way back up.

The controls are lined up in a row but don't read as one system. On desktop, groups of toggles are spaced too far apart, and search sits apart from them without saying what it searches by. On mobile, filtering and sorting are two components sitting side by side but not connected.

Boost, platforms, and the TVL threshold sit one level deep. Boosted vaults live inside the filter panel, the platform list sits at the very bottom of the same panel. "Minimum TVL" – the threshold on funds held in a vault – is built as a checkbox: its own control sits a level further in and only appears once it's turned on, so neither the value nor how to set it is visible before that.

Frequent actions take more steps than rare ones. First in line is the "All / Saved / My Positions" toggle – the one used least – while platform and minimum TVL are tucked inside an extra menu.

Usability research

Boosts were tested in March 2025, filters and search in April – this time as a check on whether the reworked interface had gotten easier to understand.

Maze report on filters and search research: nine test blocks and 53 responses
Task block in the Maze report: reset filters to the default view, six seconds and almost no misclicks
Open-question block in the Maze report: 23 answers on what participants would change about filtering and search
Satisfaction scale in the Maze report: average score 4.1 across 23 responses, spread over six points
Maze report on filters and search

Results

Filters, 52 participants.

Tested on the mobile prototype – desktop got the same solutions but wasn't checked separately with users, so the screenshots below are mobile.

Task Success Drop-off Time
Open stablecoin vaults only 23 of 35 12 (34.3%) 43.5 s
Open CLM pools with a boost 19 of 29 10 (34.5%) 26.2 s
Open BTC-correlated 20 of 27 7 (25.9%) 27.2 s
Return to the default view 25 of 26 1 (3.8%) 6.4 s

Participants who made it to the final question rated the experience they'd just had at 4.1 out of 5 (n=23 of 52 – the scale was shown at the end), higher than boosts (3.6/5).

There's no direct comparison with "before" – no baseline was taken, but users raised the same problems in Discord feedback.

The "All / Saved / My Positions" toggle used to sit first in line – the one used least – while platform and minimum TVL were tucked inside an extra menu. Frequent actions ended up taking more steps than rare ones.

Part of that same feedback came up often enough to count by frequency – from the open-ended answers to both questions (n=26)

Presets – save filter combinationsReframed
(19.2%)5
Filter is cluttered with menus and buttonsImplemented
(11.5%)3
Boost isn't in the right place among the filtersImplemented
(11.5%)3
Slow, laggy response from the Maze prototypeNot implemented
(7.7%)2
Support for other languagesNot implemented
(3.8%)1
Vaults with very low TVL are worth hidingNot implemented
(3.8%)1

Design solutions and information architecture

Every decision answers a specific finding.

Boost is pinned in the visible area of the filter. It used to sit inside the dropdown panel with the rare parameters – now it's visible right away, with no need to open the panel.

Sorting got pinned – but only on desktop. I proposed a lighter option for both cases – not a permanent pin, but the panel appearing on scroll-up, on mobile and for filters on desktop – but the team chose to keep the permanent pin, since it already worked.

Controls are ordered the way people search. Network and asset category come first, vault type next, rare filters go deeper. The order in the interface matched the order in the user's head.

Beefy home page after release, desktop: the Boosted tab is selected
Beefy home page after release, desktop: filter panel open – Zappable, Points eligible, Need to migrate, Retired, Paused, and the Minimum TVL slider
Boost is visible right away, no need to open the panel – the rare parameters (Zappable, Points eligible, Retired, Paused, minimum TVL) are tucked into a dropdown

Added a Memes selector – the category was requested in open-ended answers on the filter test ("Meme vs regular alt coin selection").

Added responsiveness – the filter layout is built to fit the most controls on any screen size.

Beefy mobile filters after release: filter applied – vault list with Sort/Filter active Beefy mobile filters after release: filter panel open, with category, vault type, and minimum TVL Beefy mobile filters after release: default sort menu – by date
Beefy mobile filters after release: platform search Beefy mobile filters after release: network search open Beefy mobile filters after release: sort menu – 30-day average APY
Filter, sort, and platform search – one component with three tabs instead of three separate ones

Cross-chain ZAP and the product model

Before this feature, moving between networks took 9 steps, and you could drop off at almost any one of them. And people rarely adapt to the protocol: they deposit what they already hold, and are often unwilling to bridge just for a trial deposit – if the vault is on Arbitrum and the money is on Ethereum, the person simply leaves.

Here's what it looked like, and what it became

Original vault-to-vault deposit flow9 steps and 2 gas payments Cross-chain ZAP6 steps and 1 gas payment
Choose the vault to deposit intoChoose the vault to deposit into
Figure out which network the vault is on,Step is Gone
Figure out where their own asset actually isStep is Gone
Move assets across a bridge, and pay gasIn the deposit tab, choose "From vault"
Find the target vault,Choose one of their vaults from the list
Choose the network,Step is Gone
Enter the amountEnter the amount
Tap depositTap deposit
Pay gas, and get the resultPay gas, and get the result

It only became clear along the way that the user shouldn't have to see the network barrier at all: to them it's just moving money into another vault. The interface adapted to the user, not the other way around.

Final interface: order – deposit source → network → token → amount, with the ZAP route expanded before confirmation – arrows show the transitions between screens
Diagram of the final interface: order – deposit source → network → token → amount, with the ZAP route expanded before confirmation

Edge cases were worked through separately – situations where ZAP just isn't shown, and why:

Condition Why
Amount too small relative to the feeRisk to the user outweighs the benefit – ZAP is hidden, not offered
Unsupported routeTechnically impossible – ZAP is hidden
High slippageRisk to the user outweighs the benefit – ZAP is hidden
Experimental vaultRisk to the user outweighs the benefit – ZAP is hidden
Partial failure state – part of the transaction went through, the other part didn'tThere's no undo on-chain – we show status so users don't panic and retry, losing gas twice
Long wait on-chainA write animation in Rive keeps the user in the moment, so the screen doesn't look frozen

This feature is a good example of the full cycle end to end: research into the existing layout, a dedicated reference page, then use cases broken down by state – notifications, the waiting animation, and the edge case where everything has to show at once. And a dev review at the end. A dedicated page per state makes it clear what the feature does and why it exists. Not bureaucracy.

The same pattern came in handy again, under very different circumstances. On April 8, 2026, Binance announced BIFI's delisting, the project's token. The token lost a third of its value within a day. It wasn't just the price – trust went with it: it got more expensive for users to enter, exit, and move between vaults. Vault to Vault ZAP shipped on the fourth day after the announcement – the same transfer without an intermediate asset, applied to a crisis instead of everyday friction.

Real BIFI price chart for the year from CoinMarketCap: a sharp drop in April 2026 around Binance's delisting announcement, followed by stabilization at about a third of the price from the start of the month
BIFI price over the year, snapshot from CoinMarketCap: crashed in April 2026 – from $104.64 at the start of the month to $34.74 by the close of trading on the 23rd (delisting announced April 8, −31% in the first 24 hours). Vault to Vault ZAP shipped April 12, four days after the announcement.

SectionsBack to top ↑

  1. Context
  2. End-to-end design
  3. Boosts
    • Usability research
    • Unmoderated usability testing
    • Results
  4. Filters, sorting and search
    • Usability research
    • Results
    • Design solutions
  5. Cross-chain ZAP
Kirill Bush, 2026 ©