← All work
Engineering case

Custom BI Platform

A code-first analytics platform for a professional services firm that had outgrown vendor BI. Metrics as code, what-if modelling, validated numbers.

FastAPIPythonNext.jsTypeScriptPostgreSQLRedisDocker
metrics as code one model every team, same numbers
0
saved per manager per week on report compilation
0
lower projected 3-year cost of ownership vs vendor platforms
0
typical time from new metric request to it shipping

The problem

A mid-sized professional services firm had spent two years bending Power BI and Tableau around its business and was losing the fight. The metrics that ran the firm reflected processes no vendor tool understood. Every customisation came out brittle. The genuinely important requirements - real-time what-if modelling, metrics embedded in operational workflows - had been quietly abandoned as impossible.

Managers were filling the gap by hand, compiling reports from exports every week.

The build

A custom BI platform on a code-first principle: every metric is code, version-controlled, type-checked, and reviewed like any other software. Four ideas anchored the architecture. Metrics as code, so definitions are explicit and auditable. Type safety end to end, so a metric cannot silently change meaning. Composability, so new metrics build from existing ones. Observability by design, so when a number looks wrong, the lineage is right there.

The piece that earned the most trust: data quality validation lives inside the calculation engine itself. A figure that fails validation never reaches a dashboard, so decision-makers stopped having to ask whether they could believe the screen.

The workflow

FastAPI serves the calculation engine, Next.js drives the front end, PostgreSQL holds the data, and Redis caches the expensive aggregations. Docker Compose keeps deployment boring. What-if scenarios run live against the real calculation engine, so the answers hold up under scrutiny.

The outcome

Managers got 5-10 hours a week back from report compilation. New metrics ship in days, on the firm's own schedule. And the three-year cost projection came in 40-60% below the equivalent vendor stack, which settled the build-vs-buy argument inside the firm for good.

Have a problem in this shape?

Tell us where you are stuck. We will tell you honestly whether we can help.

Get in touch