A working investigator console for financial-crime detection. It runs on production-shaped synthetic data, with a live network graph, three worked typologies and a governed case workflow. This is the two-minute story to read before (or while) you click.
▶ Open the live console ▶ Watch the 60-second storyBest on desktop. The story plays itself; the console is the real thing. It's a Beta, so rough edges are expected: it ships and iterates in public.
Banks run two separate systems to fight financial crime: one to investigate — network and entity analytics — and another to manage the casework — alert triage, workflow, and reporting. Analysts swivel-chair between them, and the graph an investigator explores is never quite the one the alert was scored on.
NEXUS fuses both onto a single resolved-entity + money-flow substrate. The same graph you explore is the one the score was computed on, and the case is worked and dispositioned on the same page. Typologies and sanctions are overlays on that substrate — not separate products bolted together.
Entities scored and ranked, each showing the typologies that fired on it. The front door.
The entity and everything it links to. Three lenses: Resolution, Ownership, Case-cashflow.
Why the score is what it is — and the governed decision: verdict, actions, audit, drafted SAR.
Additive risk points across every signal, capped at 100. Its job is ranking — what does an analyst open first? Crans hits the cap: a closed loop, high-value legs, jurisdiction deviation, high-risk industry.
The weighted Circular Funds Flow model — six governed, tunable components. Its job is the analytic call: how strong is this specific typology on this entity? Medium, honestly — not force-escalated.
Two numbers because they answer two different questions. Conflating "what do I look at first" with "how strong is the case" is a classic detection-system failure — keeping them separate is the point.
And the queue ranks on whichever is stronger. If a typology's analytic verdict outranks the macro triage, the alert is promoted to that score and says so with a priority badge — ▲ CM003 · macro 37.5 on Deltaforge, for example. So a compelling typology case can never hide behind a modest triage number, and you can always see which signal set the priority. The two scores stay distinct; the queue simply refuses to under-rank the stronger one.
How it's built
What it shows I can do
This is Beta v2.1 — the start of a proving journey, iterating in public. Naming the gaps is the point: it's a system built by someone who knows what "done" actually looks like.