Skip to content

Selected work

Built where the data was heaviest and the sign-off strictest

AlchmAI is part of the GCL group. Our founder and the senior team at GCL spent years delivering systems into trading floors, capital markets, banking and insurance. That is where we learned what a regulator, an auditor and a head of trading need to see before anything goes live. Two of those projects are written up here, with the figures and the stack. Delivered by our founder and the GCL team before AlchmAI was formed. Client names are withheld under confidentiality agreements.

Global investment bank, trading floor

A charting engine for trade surveillance: hundreds of millions of ticks a day, views down to the nanosecond

A greenfield surveillance platform for front-office and compliance desks, built to watch high-frequency activity across asset classes and exchanges and to show analysts what happened, when, at any zoom level.

Client
Global investment bank
Users
Front-office and compliance surveillance desks
Engagement
Greenfield platform, desks in several regions
Delivered by
Our founder and the GCL team
surveillance.yourbroker.com/alertsLiveAlerts6 openLayering pattern#7731 GBPUSD14:02:17Wash trade check#7728 XAUUSD13:58:40Unusual size#7720 US50013:41:05Cross-venue gap#7716 EURUSD13:12:22Order to trade ratio#7709 UK10012:55:31Unusual size#7702 BTCUSD12:40:09Alert 7731GBPUSD, venue ALayering patternHighWindow 60 ms, zoom 1 msBuy 1m executed3 sell orders, 15m, cancelled after 9 ms14:02:17.410.420.430.440.450.460.470Best bidBest askOrder placed, then cancelledTIME (MS, MICROSECONDS)EVENTSIDESIZEPRICE14:02:17.412 381PlaceSell5m1.2643014:02:17.413 004PlaceSell5m1.2643214:02:17.413 920PlaceSell5m1.2643414:02:17.421 507ExecuteBuy1m1.2641814:02:17.422 016CancelSell5m1.2643014:02:17.422 058CancelSell10mallEscalateClose, no issueAdd noteDecision saved with evidence
Illustrative screen on synthetic data, not the client's system

100m+

ticks a day rendered per instrument view

ns

finest zoom level on the time axis

70%+

less routine compliance monitoring work

The problem

Off-the-shelf charts could not hold a day of tick data for a busy instrument, let alone plot market depth and time series side by side across venues. Analysts needed to move from a whole session to a few microseconds without the chart stalling, and to see latency and cross-instrument patterns as they formed.

Stack

  • React
  • TypeScript
  • D3FC
  • AG Grid
  • KDB
  • Apache Arrow
  • gRPC
  • WebSocket
  • Python
  • Java
  • Kotlin

AI stack

  • Llama 2
  • GPT-4
  • Pattern recognition
  • Anomaly detection

What was built

  • A low-latency visualisation engine with custom chart layers and sampling, so a session of hundreds of millions of ticks renders smoothly and zooms to nanosecond resolution
  • Market depth and time-series charts for multiple exchanges, instruments and venues on one screen
  • Stream processing and data compression between the surveillance engines and the browser, with Apache Arrow and gRPC on the wire
  • Pattern recognition and anomaly detection components embedded in the analyst workflow
  • A micro front-end architecture so desks in different regions could ship independently

What it means for you

If a bank's surveillance desk can chart every tick of a session in a browser, a broker's clients can have charts that do not stutter, lose drawings or disagree with the statement. The same engineering applies, at a fraction of the data volume.

UK investment bank, markets division

Six front-office trade capture and pricing applications on one configuration-driven ticket library

Bond, repo, swap, structured and RFQ trade capture for a markets division, built from inception by a team of fifteen. Our founder established the front-end architecture, the tooling and the shared component library used across all six applications.

Client
UK investment bank, markets division
Users
Bond, repo, swap, structuring and RFQ desks
Engagement
Built from inception by a team of fifteen
Founder's role
Front-end architecture, tooling and the shared component library
tickets.yourfirm.com/repoTicket libraryRendered from configOne library, every ticket typerepo.ticket.yaml1 field added1product: repo2title: "Repo, new trade"3layout: two-column45fields:6- { id: counterparty, type: party, required: true }7- { id: collateral, type: bond, lookup: isin }8- { id: nominal, type: amount, ccy: GBP }9- { id: rate, type: rate, decimals: 4 }10- { id: start, type: date, default: T+1 }11- { id: end, type: date, after: start }+- { id: haircut, type: percent, max: 25 }1314validate: on-type15keys:16book: Ctrl+Enter17clear: Esc18next: TabConfig change only. No code release.Repo, new tradeDraftCtrl+Enter to bookCOUNTERPARTYFund A, LondonCOLLATERALGilt 4.25% 2032NOMINAL25,000,000GBPRATE4.1250%START12 Oct (T+1)END19 OctHAIRCUTNew field30%Above the 25% maximum for this collateralIN SYNC WITHBlotterPricingRiskCHECKS AS YOU TYPECounterparty limit availableCollateral eligible for repoHaircut above the 25% maximumBookClear1 issue to fix before booking
Illustrative screen on synthetic data, not the client's system

6

applications on one shared ticket library

0

code changes to onboard a new product or field

15+

engineers working to the standards set at inception

The problem

Each product desk had its own ticket, its own validation rules and its own release cycle. Adding a field or a new product meant a new screen and a new project. Traders needed to book at speed, by keyboard, with validation as they typed, and every application had to stay in sync with the others on the desktop.

Stack

  • React
  • TypeScript
  • RxJS
  • .NET
  • C#
  • Java
  • AG Grid
  • FDC3
  • interop.io
  • WebSocket
  • GCP

AI stack

  • AI agents
  • MCP
  • LLM integration
  • Guardrails
  • Evals
  • GitHub Copilot
  • Kiro
  • GitLab Duo

What was built

  • A configuration-driven component library that renders every ticket type, repo, cash bond, swap, structurer and trader RFQ, from declarative config files, so new products and fields go live without code changes
  • Keyboard-driven, field-type-aware components with inline validation and shortcut navigation for high-speed booking
  • Server-side services and WebSocket infrastructure for real-time state synchronisation between decoupled applications
  • FDC3 desktop interop so the applications launch and talk to each other inside the desktop container, with drag-and-drop and cascade
  • AI agents with custom skills, MCP integrations, guardrails and evaluation frameworks, and the adoption of AI-assisted development across the team

What it means for you

A prop firm dashboard, a broker's order ticket and an RFQ blotter are the same problem: fast, validated input that stays in sync with everything else. We have built it where the stakes were highest.

Also from the group

Banking and insurance, at scale

Two more GCL programmes outside trading, both delivered by the GCL team.

Retail banking

6

UK banking brands on one shared, tested foundation

Digital banking products for six of the UK's biggest financial brands.

Insurance

Days to minutes

scenario run time for catastrophe risk modelling

Catastrophe risk modelling for a top-three global insurance broker.

Show us the chart your clients complain about.

Thirty minutes and a shared screen. You will leave with our first three recommendations whether or not you hire us.