Skip to content
BlackwatchTechnologies
All work
Financial ServicesWebsiteAdmin Dashboard

Northgate Capital

Intraday risk, finally visible before the close.

An event-sourced trading and risk platform that replaced overnight batch reconciliation with sub-second position accuracy across nine asset classes.

Year
2025
Duration
11 months
Team
14 people
Sector
Financial Services
dashboard
MacBook Pro mockup

0ms

Position latency

From execution to reflected exposure, p99

0%

Reconciliation breaks

Reduction in daily unexplained differences

0hrs

Reporting cycle

Down from 34 hours at month-end close

$0.0B

Assets covered

Under live risk management

The client

Northgate Capital Partners

A multi-strategy asset manager with $14.3B under management, trading equities, fixed income, FX, and derivatives across North American, European, and Asian sessions.

To manage institutional capital with the transparency our clients would demand if they could see everything we see.

Company mission

Logo concept

NC

A portcullis rendered as an ascending bar chart — the gate as both security and market structure.

#1E3A8A
#3B82F6

Founded

2003

Headquarters

Boston, Massachusetts

Employees

310

Sector

Financial Services

Screens

Every surface we shipped

11 designed screens across 2 deliverables, rendered live rather than captured as static images.

Home
MacBook Pro mockup

Client Portal Home

Mandate performance and allocation at a glance.

dashboard
MacBook Pro mockup

Risk Dashboard

Live exposure, VaR, and limit utilization across desks.

analytics
MacBook Pro mockup

Attribution

Performance decomposition by factor, sector, and desk.

orders
MacBook Pro mockup

Order Blotter

Real-time execution flow with allocation and fill detail.

products
MacBook Pro mockup

Instrument Master

Reference data across nine asset classes with corporate actions.

reports
MacBook Pro mockup

Regulatory Reporting

SOX-traceable statements and position disclosures.

settings
MacBook Pro mockup

Settings

Organization, team, and integration configuration.

Mobile application

iPhone mockup

Sign In

iPhone mockup

Create Account

iPhone mockup

Notifications

iPhone mockup

Profile

Mockups

Across every form factor

The same design system, rendered at each breakpoint it has to survive.

analytics
Desktop Monitor mockup
orders
iPad mockup
iPhone mockup
Android mockup
Case study

The challenge

Northgate's risk numbers were a day old. Positions reconciled overnight in a batch that finished around 4 a.m., meaning portfolio managers traded all day against yesterday's exposure. During the March volatility event, one desk breached its concentration limit at 10 a.m. and nobody knew until the following morning. Month-end close took 34 hours of largely manual reconciliation, and the break log routinely ran past 300 unexplained differences.

Research

  • Traced every calculation in the existing risk stack, including 14 spreadsheets that turned out to be load-bearing
  • Interviewed portfolio managers, risk officers, and operations staff across all three trading regions
  • Analyzed twelve months of reconciliation breaks to classify root causes
  • Benchmarked latency requirements against the actual decision cadence on each desk

The solution

We rebuilt position keeping as an append-only event ledger in Go. Every execution, corporate action, and adjustment is an immutable event; positions are a projection that can be recomputed deterministically from any point. This eliminated the entire class of break where the position and its history disagreed. Risk calculations subscribe to the same event stream, so exposure updates within 800ms of a fill rather than overnight. ClickHouse backs the analytical surface, letting risk officers slice twelve months of tick-level history without touching the transactional path.

UX decisions

Limit utilization shown as a continuous gauge, never a binary pass/fail

Risk officers needed to see approach, not just breach. A desk at 94% of its limit is a conversation; at 101% it's an incident.

Every number links to its constituent events

The legacy system's fatal flaw was unexplainable figures. Making every aggregate drillable to source events is what earned the risk committee's sign-off.

Deliberately no auto-refresh on the blotter during active review

Rows shifting under a cursor caused real allocation errors in testing. Updates queue behind an explicit indicator instead.

Regional session awareness in the default view

A Boston risk officer at 8 a.m. cares about Asian close, not US open. The dashboard opens on whichever session is live.

Features

  • Append-only event ledger with deterministic position replay
  • Sub-second exposure and VaR across nine asset classes
  • Pre-trade and intraday limit checking with escalation workflows
  • Performance attribution by factor, sector, desk, and strategy
  • Corporate action processing with automated position adjustment
  • SOX-traceable regulatory reporting with full calculation lineage
  • Client portal exposing mandate-level performance and allocation

Technology

ReactTypeScriptGoApache KafkaPostgreSQLClickHouseRedisKubernetesTerraform

Architecture

Execution feeds from three OMS providers land in Kafka with strict per-instrument ordering. A Go ledger service validates and appends events, then publishes projections to PostgreSQL for transactional reads and ClickHouse for analytics. Risk calculators are stateless consumers that rebuild from the log on deploy, which makes model changes safe to roll out and trivial to roll back — we can replay a full trading day through a new model in under four minutes. Redis fronts the hot position cache. The whole estate is Terraform-managed across two regions with active-passive failover rehearsed monthly.

Results

Position latency settled at 800ms p99 from execution to reflected exposure. Unexplained reconciliation breaks fell 91%, and the residual set is now dominated by genuine upstream data issues rather than internal disagreement. Month-end close compressed from 34 hours to 6. The risk committee approved retiring the legacy batch entirely after two parallel closes — a decision the CRO had expected to take a year of evidence.

Lessons learned

  1. 01The load-bearing spreadsheets were the real project. Discovering them took six weeks and reshaped the architecture more than any stated requirement did.
  2. 02Parallel running through two full month-end closes was expensive and non-negotiable. The first close surfaced three model discrepancies that no amount of unit testing had caught.
  3. 03Deterministic replay turned out to be the feature that sold the platform internally. It was designed for correctness, but its real value was letting risk officers answer 'why did this number change' without calling engineering.
Timeline

How the engagement ran

11 months across 4 phases with a team of 14.

  1. Risk Model Discovery

    6 weeks

    Reverse-engineered the existing risk calculations, which lived partly in undocumented spreadsheets.

    Model specificationBreak taxonomyData lineage map
  2. Event Ledger Foundation

    14 weeks

    Built the append-only ledger with deterministic replay and parallel-run validation.

    Event storeReplay engineShadow reconciliation
  3. Risk & Blotter Build

    18 weeks

    Delivered live exposure, limits, and the execution blotter against production feeds in shadow mode.

    Risk dashboardOrder blotterLimit engine
  4. Parallel Run & Cutover

    10 weeks

    Ran alongside the legacy batch for two full month-end closes before switching authority.

    Variance reportsCutover planRegulatory sign-off

The number that matters to me is 91% fewer breaks. But what changed how we operate is that I can now explain any figure on the screen to a regulator in about thirty seconds.

Marcus Feldman

Chief Risk Officer, Northgate Capital Partners

Have a problem shaped like this one?

We start every engagement with a paid discovery sprint. You get an architecture assessment and a delivery plan — whether or not you continue with us.

About this case study: Northgate Capital Partners is a fictional client. This engagement, its metrics, and its quotes are illustrative work product created to demonstrate our delivery approach, architecture reasoning, and design process. They do not describe a real customer.