Loading

Hello There! I'm Akhil Kumar

Every great design begins with an even better story.

Follow On

Product Case Study

PRICING SHEET

Capital Markets Workstation

An FX-derivatives pricing workstation — 100 strategies, live greeks and multi-scenario pricing on a sheet every desk can reshape for itself.

Protected under NDA

This work is covered by a non-disclosure agreement, so only a blurred preview is public. Enter the access password to view the full case study.

Don’t have it? Request access →
Product Case Study · Capital Markets

A pricing sheet that prices the way traders think

FX-derivatives desks quote structures all day — vanillas, straddles, butterflies, seagulls — against moving curves and vols. I designed the Pricing Sheet end to end as an interactive product concept: one workstation where a trader composes a strategy, prices scenarios side by side, reads the greeks at a glance — and reshapes the sheet itself to fit the desk.

The Challenge

Every desk prices differently — every tool assumes they don’t

Vendor pricers ship one fixed layout for every desk. So traders fall back to spreadsheets: stale curves, re-keyed trades, greeks in one tab and the market in another — and no control over who prices what.

The Solution

Modern web UI, full feature parity

Admin-governed profiles decide what a desk can price; a trader-facing design mode decides how their own sheet reads — field by field or in bulk. Between them: live market data, multi-scenario columns and a solver, with the greeks always one glance away.

RoleUX Designer
ProductPricing Sheet
DomainFX Derivatives
TypeLegacy → Angular Web
The workstation

One screen, whole desk

Everything a pricing request needs sits in a single window — here’s the anatomy.

Workstation mapG’S WORKSTATION / PRICING SHEET 1
1
2
3
4
1
Tools panel — the market context

Rate curves (USD OIS, LIBOR), validation date & time, pricing environment, solver settings and leg links — the assumptions behind every number.

2
Strategy columns — one column per instrument

Vanilla, Spot, Forward side by side, each with Price / Save / Solve toggles and paired scenario columns for what-if pricing.

3
Pricer measures — greeks under every column

Delta, Vega, implied vol pinned beneath the trade — the risk reads in the same glance as the price.

4
Profile & design controls — the sheet about itself

Profiles, edit and design mode live in the header: the workstation is a product the desk can reshape.

The problem

The tape the legacy client printed

When the pricing tool doesn’t fit the desk, the desk routes around it — and these tickers start printing red.

UI.DENSE▼
A hundred fields, zero hierarchy

The Swing grid showed every field for every product to every role — experts navigated by muscle memory, everyone else by fear.

-- CLARITY
CFG.FILES▼
Customization lived in config files

Reshaping the sheet for a desk meant editing installer configs and raising IT tickets — so nobody did, and workarounds multiplied.

-- FIT
TRAIN.WKS▼
Weeks to competence

New joiners shadowed a senior trader to learn which fields mattered, which were dead, and which F-key priced — the UI taught nothing.

-- ONBOARDING
JAR.SEAT▼
A desktop install per seat

Version drift between desks, no access from anywhere else, and every upgrade a coordinated deployment event.

-- REACH
The brief, in one line

A quote is a race — price it before the market moves and the client hangs up. The tool has to carry the structure, the market and the risk in one screen, shaped exactly the way that desk works.

Design targets

What “fast” means on a desk

Two numbers anchored every layout decision — set as explicit design targets against the legacy workflow.

Interactions to price a 3-leg structure

select strategy → fill legs → price · measured on the prototype
LEGACY CLIENT · RE-KEY EACH LEG40+ steps
PRICING SHEET · STRATEGY TEMPLATE≈ 12 steps
Strategy templates pre-build the legs; the trader only touches what’s different about this trade.

Freshness of the market behind a quote

age of curves & vols at the moment of pricing
LEGACY CLIENT · MANUAL REFRESHMINUTES OLD
PRICING SHEET · LIVE MARKET DATAREFRESH ON DEMAND
Validation date, time and pricing environment sit beside the sheet — the assumptions are visible, not buried.
The solution

Three layers between chaos and a quote

The core idea: separate what a desk may price (governed), how the sheet reads (personal), and the act of pricing (fast). Each layer has its own owner and its own UI.

Admin · Configure

Profiles govern the desk

Six tabs decide what a profile exposes — curated from a catalog of 100 strategies across 8 asset classes, shared to user groups.

StrategiesPropertiesLayoutPricer MeasuresToolbarUsers
Trader · Compose

Design mode shapes the sheet

Rename, recolor, hide or lock any field — one at a time or in bulk — drag rows into the desk’s reading order, and save it as yours.

Single editBulk editDrag to reorderShow / hideEditable / locked
Desk · Price

Scenarios price side by side

Each strategy column carries Price / Save / Solve toggles and paired what-if columns; greeks print underneath; the solver backs out the unknown.

Multi-scenarioRepriceRun solverSave to blotter

The governance loop: what traders reshape in design mode can be promoted back into the desk profile — personal ergonomics become team defaults instead of private forks.

Inside a profile — the six tabs

Strategies

A dual-list picker: 100 strategies across 8 asset classes on the left, the desk’s own grouped, ordered set on the right — folders, reordering and search built in.

Properties

A per-product matrix of every field across strategy columns — flip visibility and editability in bulk, or copy the whole setup from another product.

Layout

Display groups decide the reading order: each group and field gets a display name, auto-expand behavior, a color and bold/italic formatting.

Pricer Measures

18 measures available, curated to the desk’s five — each with its own currency, display units, significant figures, color and display group.

Toolbar

Every action listed with its keyboard shortcut (Ctrl and Shift chords) and a shown/hidden toggle — plus quick-fields like Trade Comment and Trade Id on the price & save bar.

Users

Profiles are shared to user groups — traders, sales, ops, risk — so each role opens a sheet shaped for its job, not a one-size default.

Carrying it across

Every legacy feature found a new home

We inventoried the legacy client function by function, then mapped each pattern to a home in the new design — nothing was dropped, only re-housed and made discoverable.

Legacy · SwingOne dense grid, every field visible

All products, all roles, one fixed table.

Modern homeCollapsible groups + profile Layout tab

Display groups fold the sheet to what this desk reads — the rest is one click away, not gone.

Legacy · Config filesCustomization by INI files & IT tickets

Per-desk installer configs nobody dared touch.

Modern homeProfile Configuration — six governed tabs

Strategies, properties, layout, measures, toolbar and users — edited in a dialog, shared to groups.

Legacy · Private buildsPer-trader hacks and forks

Local tweaks that died with the workstation.

Modern homeDesign mode — single & bulk field edit

Rename, recolor, hide, lock and reorder per trader — saved, governed, promotable to the desk profile.

Legacy · F-keysF2 = price, F5 = solve, F9 = save

Muscle memory that made experts fast — and new joiners slow.

Modern homeRemappable shortcuts in the Toolbar tab

Every action keeps a chord (Ctrl/Shift), each visible on the toolbar — speed for experts, discoverability for everyone else.

Legacy · One windowOne instance, one sheet, one screen

Comparing books meant a second install.

Modern homeTabbed workstations & sheets

A desk’s whole book in one browser tab — sheets multiply without deployments.

Legacy · Raw dumpEvery pricer output, undifferentiated

Accurate, and unreadable at trading speed.

Modern homeCurated pricer measures

Greeks as configured display objects — units, currency, significant figures and color per measure.

The parity rule we held: no feature was removed until desk walkthroughs proved it dead. Features moved homes and gained hierarchy — they didn’t disappear. That’s what kept the traders who knew the old client on our side.

The calls behind it

Four tickets I wrote against the defaults

TKT-01

Who owns the layout?

▲ Long · choseTwo-tier customization — profiles + design mode

Admins govern the catalog and defaults; traders reshape their own copy field by field. Both are first-class UIs, not INI files.

▼ Short · passedOne fixed vendor layout

Cheapest to build — and exactly why desks abandon pricers for spreadsheets.

Risk accepted: two customization surfaces need a clear precedence rule — profile governs, design mode refines within it.
TKT-02

How does a structure start?

▲ Long · choseStrategy templates from a curated catalog

Straddles, butterflies, seagulls, collars arrive pre-legged from the profile’s strategy tree — grouped and ordered by the desk.

▼ Short · passedBuild every trade from a blank product

Maximum flexibility, maximum re-keying — the 40-step path the targets were set against.

Risk accepted: templates must stay editable after insertion — a starting point, never a cage.
TKT-03

Where do the greeks live?

▲ Long · choseMeasures as configured display objects

Delta, Gamma, Vega, Theta, PV — each with its own currency, units, significant figures, color and display group, pinned under every column.

▼ Short · passedA raw results dump

Every measure the pricer emits, undifferentiated — accurate, and unreadable at trading speed.

Risk accepted: curation hides data by design — the full measure list stays one search away.
TKT-04

One trade at a time, or the book?

▲ Long · choseScenario columns + bulk operations

Instruments price in paired what-if columns; selection checkboxes and bulk edit act on many rows at once; sheets multiply per workstation tab.

▼ Short · passedSingle-trade modal pricing

Simple mental model — but comparing two strikes means two windows and a memory test.

Risk accepted: horizontal density is real — columns collapse and the sheet locks to keep wide books navigable.
Reading the risk

Greeks you can read at a glance

Live values from the prototype’s EUR call — shown the way the product treats them: as configured display objects, not raw pricer output.

Δ
DELTA_PCT
57.002% ▲
Directional exposure — the first number a hedger asks for.
EURFULL DISPLAY9 SIG FIGSBRAND SUBTLE★ FAVORITE
ν
VEGA_PCT
0.27864%
Sensitivity to volatility — five significant figures, because vol is the desk’s P&L.
EURFULL DISPLAY9 SIG FIGSBRAND SUBTLE★ FAVORITE
σ
IMPLIED_TRADING_VOL
13.28%
The vol backed out of the EUR call — where this strike sits decides if the quote is rich or cheap.
MIDPCT4 SIG FIGSBRAND SUBTLE
τ
TRAINING_DAYS
158.21
Time to expiry in trading days — the clock every other greek decays against.
ACT/252FULL DISPLAY2 DECIMALS
Desk math — why precision is configurable
€1,000,000Notional × 57.002%Delta = ≈ €570,020Directional hedge
On a €1m EUR call, the third decimal of delta moves the hedge by hundreds of euros — which is why every measure carries its own units, currency and significant figures instead of a one-size number format.
Before & after

From a Java desktop client to the web

The legacy sheet was powerful and dense in equal measure — every field, always, for everyone. The modernization had to keep the power and lose the noise.

Then → nowLEGACY JAVA CLIENT → ANGULAR WEB
Legacy · Java desktop client

Everything, everywhere, all at once. Strip columns to the horizon, two rows of thirty tiny icons, a strip generator, solver and leg links stacked down the left rail — and the “Pricing Sheet Profiles” dialog buried in the Configuration menu. The power was all there; only veterans could find it.

Modern · Angular web
Modernized pricing sheet in the Angular web UI

The same power, disclosed progressively. The features didn’t shrink — the noise did: collapsible groups, profiles per desk, design mode per trader, and a browser tab instead of a desktop install. The modern profiles dialog is the legacy one’s direct descendant.

Final product

Ten screens through the workstation

The interactive prototype, from the live sheet to the deepest configuration tab — use the arrows to move between screens.

Pricing sheet with three strategy columns and pricer measures
Design mode with drag handles and per-row edit controls
Field configuration modal for a single field
Bulk edit modal applying changes to selected rows
Profile configuration strategies tab with dual-list picker
Profile properties matrix per product
Profile layout tab with display groups and formatting
Pricer measures configuration with display settings
Profile toolbar tab with shortcuts and visibility toggles
Profile users tab sharing configuration to user groups
01 / 10 The pricing sheet Vanilla, Spot and Forward price side by side — market rates and solver on the left, greeks under every column.
Where it landed

End-of-day summary

Session close · what the concept deliversPRICING SHEET
100 ▲Strategies in catalog

Across 8 asset classes — FX options, rates, forwards, money market, swaptions, exotics, credit, equity.

6Profile tabs

Strategies, properties, layout, measures, toolbar and users — the whole desk governed from one dialog.

2×Customization tiers

Admin profiles for governance, trader design mode for ergonomics — nobody needs a spreadsheet fork.

5+Greeks per column

Delta, Gamma, Vega, Theta, PV as configured display objects — 18 measures available on search.

20+Keyboard shortcuts

Every toolbar action mapped and remappable — the sheet keeps up with two-hands-on-keys pricing.

∞Sheets per workstation

Tabbed workstations and sheets — a desk’s whole book, one window.

Previous

Sentinel