Skip to content
Case studyOngoing

Meridian: from data dashboards to a governed AI layer for investment firms

Meridian builds data and AI products for hedge funds and asset managers. We joined a platform that was already live and have carried its client-facing surfaces ever since, through the company's move from dashboards to an AI layer their clients now buy. The bar is finance-grade: a broken landing page is survivable, a number an analyst cannot trust during market hours is not, because someone is making a decision with money on it.

Presented under a pseudonym.

The Meridian portfolio overview

The overview dashboard totals P&L, exposure and NAV, with cumulative performance, top positions and exposure breakdown by asset class.

P&L attribution analysis

Attribution decomposes returns by sector, analyst and basket, so a portfolio manager can see what drove the number.

The Meridian heat map

Matrix heat maps compare metrics across sectors, analysts and baskets, with colour showing relative strength and weakness.

The Meridian treemap

A treemap sizes each position by the selected metric and colours tiles by P&L, so large winners and losers stand out.

At a glance
Industry
Financial technology, serving hedge funds and asset managers
Engagement
Embedded delivery team, technical lead plus frontend engineering, ongoing
Stack
React and TypeScript on Vite, with enterprise data grids, trading charts and dockable layouts, and the AI layer built on Claude and MCP
The story

When Meridian brought us in, the business was data: pull market and portfolio information from many sources, normalize it, and put it in front of a firm's analysts as dashboards they work in all day. The platform was already running, and we were trusted to extend it rather than rebuild it, taking on the new surfaces and every new initiative since. Their problem was throughput at a quality bar that does not bend, because a new dashboard could be a weekly ask while a dashboard an analyst cannot read is a real loss.

So our effort split permanently in two, building new surfaces and keeping the existing ones clean, with automated test suites carrying the reliability rather than manual checking. Every firm wanted a different combination, one all ten dashboards, another five pages, a third six with one widget swapped, so we kept a maintained shared core and drove every difference from per-client configuration and feature flags. Enabling something for one firm became a config change rather than a fork, and a fix landed everywhere at once. Alongside it we built customizable dashboards, so a firm's own people assemble a view from the available widgets instead of asking anyone.

Then AI became the company's direction and the consumption model inverted, since with a server placed over their data an analyst could ask a model for the numbers instead of opening a dashboard. Firms did not want a generic rendering of their figures, they wanted their own charts, tables and branding inside that conversation, so we came back with several workable approaches rather than a single proposal, let them choose, and built it, with export so an analyst can take a branded document straight out of a conversation. Where the work sits now is the platform itself, where a firm's own people, engineers and non-engineers alike, build skills and agents, test them, deploy them and share them across desks with scoped permissions, with a review step before anything firm-wide reaches a colleague and the whole thing running in the firm's own cloud on its own data.

Outcome

We carry the client-facing surfaces across Meridian's client firms, the shared core those surfaces are built from, and the AI product line the company now sells. The engagement has held through two complete reinventions of what the product is, which in an industry with no tolerance for a wrong number is the claim that matters most.

What made that possible twice over is holding a finance-grade reliability bar while moving quickly, and making probabilistic systems behave predictably through verifier layers and deterministic guardrails around model output. No performance metrics are published and none appear here until Meridian states them.

Something here look like your problem? Tell us about it.