P-02 · BUILD / PROJECT · 2026 ACTIVE

Kravios

A compliance operating platform for MAS-regulated fund managers. Fictional firms, real deadlines.

STACK: Next.js 16TypeScriptPrismaSQLitePlaywright

What it is

Kravios is the same domain as my internal tool, taken apart and rebuilt as something I can actually show people: a compliance operating platform for MAS-regulated fund managers. Every firm, person and document in the demo is invented. Every MAS form, deadline and notice number is real and was checked against primary sources rather than against my memory of them.

The split matters. The internal build holds live data and never leaves the building. Kravios is the argument, in working software, that the internal build is right.

How it works

The centre of it is the deadline engine. Obligations are derived by the system, never hand-entered, and overdue is computed from the clock rather than from anyone’s memory. That decision is why 105 of the unit tests belong to that engine alone. If the engine is wrong, everything downstream is confidently wrong.

Around it sit the filing calendar, the registers (outsourcing, conflicts, gifts and entertainment, PA dealing pre-clearance), a regulatory-change feed where nothing publishes without a named human approval, an attestation builder with separate LFMC and VCFM variants, and a dashboard whose health score explains every deduction it makes.

It is multi-tenant throughout, and cross-tenant isolation is proven by dedicated tests in both the read and the write direction, because a leak on write is the one nobody writes a test for.

Filing calendar with computed obligations, one item overdue

Details I’m pleased with

The document vault verifies what it’s given, keeps records for the full five-year retention period, and exports the lot with a manifest in one click.

Production guardrails live in code, not in a runbook: the system refuses to start in a configuration it considers unsafe. And the whole product runs fully offline: no keys, no external services.

The outsourcing register is the one I’d point at first: the materiality rule is enforced by the system, not left to memory.

The outsourcing register

Where it stands

333 unit tests plus Playwright end-to-end coverage. Roughly 33,700 lines across 402 files, built in about two weeks by an orchestrated team of around twenty specialised Claude Code agents working to a written brief.