From a legacy back-office
to a readable
trading desk.
Strategic redesign and end-to-end design for b-cube.ai, an AI-driven crypto trading platform. Five modules unified under one interface, for retail traders who want to automate their portfolio without writing code. 10-month mission in 2022, PM and Designer solo, in a crypto market boiling enough to force constant iteration.
"Binance spot"
Make a dense financial product readable, without dumbing it down.
b-cube.ai is building an all-in-one AI-driven crypto trading platform. The promise : give a retail trader the tools usually reserved for quant funds, without making them write a line of code.
Five modules had to share the same app. A marketplace of algorithmic bots (programs that place orders automatically based on mathematical models). Copy trading, which lets you mirror a human trader's positions in one click. A multi-exchange portfolio. A DeFi yield module. An education center.
When I came in, the interface looked like a legacy back-office. Internal-tool aesthetic, fuzzy hierarchies, each module living in its own silo. The product was not short on features. It was short on legibility.
10-month mission in 2022, PM and Designer solo. Product strategy, roadmap, end-to-end design (marketing site and webapp), coordination with the in-house team (algorithms, smart contracts, DeFi) and external vendors. I held the project end-to-end, with developers in an execution posture.
The context did not calm down during those 10 months. LUNA collapsed in May, FTX in November. For b-cube, which sells automation, that period was paradoxically one of high activity. Users were flowing in, priorities were shifting, the roadmap had to iterate faster than originally planned.
Five modules, one interface.
I scoped the V2 vision around five modules that had to coexist under the same navigation bar, the same risk vocabulary, the same components. Roadmap ownership, translation of business and user needs into functional specs, daily coordination with the technical team.
The hard part was not inventing those modules one by one. It was making them hold together for an audience that did not know quantitative finance. One navigation bar, one risk vocabulary (Sharpe, drawdown, volatility, all translated in the copy), one onboarding logic.
- Bot marketplace. Rent ready-made algorithmic strategies, each bot with its own identity card (past return, risk level, subscriber count).
- Social copy trading. Pick a human trader and auto-mirror their positions, with risk filters.
- Multi-exchange portfolio. Consolidated view of Binance, Kraken and other accounts in a single interface.
- DeFi Stake & Trade. Put your funds into automated protocols to earn passive yield, wired into the trading flow.
- Education center. Training content on trading and risk management, embedded inside the product.
Discover 24 bots
Good morning, thomas
Risk at the same level as return.
On a consumer-facing financial product, the default reflex is to push return out in big type and bury risk in a footer disclaimer. On b-cube, we made the opposite choice.
On a bot card, three numbers sit at the same visual level. The 3-month return. The Sharpe ratio (return weighted against risk taken : a bot that earns 10 % smoothly beats a bot that earns 15 % with violent drops). The max drawdown (the bot's worst historical loss). On the dashboard, potential loss appears next to gain. A retail user will eventually search for « Sharpe ratio ». Better to show it on day one.
Visual system: dark-mode bento. High density, embraced. Modules visually walled off, zero marketing gradients. Green and red are reserved for financial signal (gain or loss), never for decoration. Sky for product voice, warm neutrals for everything else. Inter as a single family, hierarchy carried by weight and tracking.
12 UI components documented and reused across the five modules: KPI cards, live states (Live, Paused, Stopped), tier-based allocation, market pulse feed, configuration modal, balance block.
Onboarding rebuilt. The old flow asked the user to make sense of three things in the same session: exchange connection, BCUBE token staking, and bot configuration. The new flow separates those three moments. Each can be tasted on its own, resumed later, and gives a clear progress signal.
5 active bots
Five modules shipped, one unified product.
V2 shipped and deployed. Five modules under one common navigation bar, marketing site and webapp designed end-to-end. Each module reuses the same UI components, the same risk vocabulary, the same navigation hierarchy, which did not exist before.
Onboarding rebuilt, from the monolithic original flow to three separable moments (exchange connection, staking, first bot). It was the main funnel bottleneck of the product before the mission.
Technical team coordinated end-to-end. Trading algorithms (academic partnership with Université Paris-Saclay), audited smart contracts, DeFi, external vendors. I held product strategy, design and roadmap solo, with developers in an execution posture. A rare condition that allowed fast iteration without losing coherence.
b-cube V2 design system · dark-mode bento
Tokens, atoms, molecules, organisms — the visual grammar that makes a dense financial product readable for retail traders. Inks 0–10, robin teal accent, Geist Mono everywhere a number lives.
01 Tokens
Inks — échelle 0 → 10
11 paliers du fond le plus profond (#0A0B10) au texte le plus clair (#F2F3F5). Tout le bento se navigue dans cette gamme.
Robin teal — accent signature
La voix produit. Glow sur les CTAs, dim sur les chips actifs, plein sur les valeurs de référence.
Signal — gain / perte / alerte
Les couleurs financières. Verte au-dessus, rouge en-dessous, ambre pour la pause. Jamais utilisées en décoration.
Typographie
Geist pour le display, Geist Mono pour tout ce qui est financier (tabular-nums obligatoire), Instrument Serif en touche.
Spacing — grille 4 px
Bento dense mais respirée. Les padding internes des cards tournent autour de 14-22 px.
Radii
Bento : sm pour les chips, md pour les inputs, lg pour les cards, xl pour les blocs hero. Pill 999 pour les status.
02 Atoms
StatusPill
Live · Paused · Stopped3 états + dot. La couleur signe l'état du bot. Live = up green, paused = warn ambre, stopped = dn red.
Tag
marché · stratégieCatégorie de marché. Spot, Futures, DeFi, DEX. Neutre par défaut, ne porte pas de signal financier.
Chip — range
timeframe toggleSélecteur de période. Variant is-on sur fond robin dim. Mono tabular pour aligner les chiffres.
CoinAvatar
3 sizesCarré arrondi avec lettre. Couleurs canoniques de l'écosystème (Bitcoin orange, Ethereum violet, etc).
DeltaIndicator
▲ ▼ —Variation chiffrée signée. Tabular nums pour l'alignement vertical dans les tables.
Sparkline
SVG · 200×36Mini-graph dans les rangs de tableau et les bot cards. Up green, down red. Aucun axe.
KbdHint
shortcut hintIndicateur de raccourci clavier dans la search bar et les actions rapides.
IconBtn
avec / sans badgeBouton compact 36×36, ink-2 sur ink-3. Le badge robin signale les notifications non-lues.
CTA
primary · ghost · signalBoutons d'action. Primary robin. Ghost transparent. Signal pour les actions financières (deposit / withdraw).
Hex avatar
tier badgeAvatar hexagonal robin teal. Initiale en Geist 700, ink-0 pour la lisibilité sur le gradient.
SearchBar
⌘K activableBarre de recherche globale. Placeholder dim, kbd hint à droite. Présente dans la top bar.
Number
tabular nums · monoToute valeur financière. Geist Mono, font-variant-numeric: tabular-nums pour aligner les chiffres dans les tables.
03 Molecules
KPI tile
return · win · sharpe · drawdownPetit tile dashboard. Label uppercase mono + valeur Geist Mono + delta. Réutilisé pour 4 KPIs.
PnL card
today's breakdownDécomposition du PnL du jour. Realised, unrealised, fees, trades. Mono tabular partout pour l'alignement.
Bot card
marketplace · subscribeCarte d'identité d'un bot algo. Coin avatar, nom, marché, return 3M, sparkline, 3 stats, bouton subscribe.
Balance block
par actifSolde par actif. Affiche disponible + remaining. Le pourcentage robin signale la marge restante.
Stepped allocation
paliers d'allocationSlider d'allocation par paliers. Le bar gradient bunting → robin marque la position. Dot robin pour l'étape courante.
Modal header
title + closeHeader de modale. Titre + bouton close. Padding dense pour le bento, séparateur visuel par la card surface.
Success state
post-actionÉtat de confirmation. Cercle up green + message. Suivi optionnellement d'un CTA pour la prochaine étape.
Profcard
tier · stakedCarte tier utilisateur. Hex avatar + tier + tokens BCUBE staked. Donne le contexte d'accès aux bots premium.
04 Organisms
Hero balance
dashboard topBloc principal du dashboard. Total balance en Geist Mono 40, range chips, sparkline pleine largeur. Glow robin en arrière-plan.
Connected accounts
3 exchanges liveTableau des comptes exchange connectés. Coin avatar, nom, balance, available, status pill, chevron.
Market pulse
live feedFlux d'évènements en direct. Dot up/dn glowing pour signaler la direction. Hour-meta à droite.
My bots — table row
data-heavyLigne du tableau My bots : rang, coin, nom, marché, assets, PnL, change, drawdown, sparkline, statut. Data-heavy assumé.
Sidebar nav
8 destinationsNav verticale 76 px. Logo robin gradient en haut, items 44×44, dot robin en accent sur l'item actif.