Skip to content
Senior web & app development · 20 capabilities
oakstone.digital
Case study / Cinder Capital

One dashboard instead of nine spreadsheets.

A custom admin platform gave a new fund a single, trustworthy view of its portfolio and reporting.

Industry
Finance
Duration
18 weeks
Division
Apps & Software
Year
2025
Cinder Capital — finance web development project by Oakstone
Apps & Software / delivered
10 → 1
person-days per reporting cycle
9 → 1
systems of record
100%
write actions audited
The challenge

Cinder had grown from two funds to nine vehicles in three years, and the operating model had not kept up. Portfolio data lived in nine spreadsheets with inconsistent definitions, and quarterly investor reporting took two people the better part of a fortnight.

Nobody could answer a simple exposure question without a manual reconciliation, which for a regulated business is a governance problem as much as an efficiency one.

The move

We modelled the domain first — vehicles, positions, valuations, capital events — and defined every reported metric with its calculation written down and visible in the interface.

The platform shipped in vertical slices: portfolio positions first, then capital events, then investor reporting. Role-based access with audit logging was in place from the first release rather than added when compliance asked.

The result

Quarterly reporting dropped from around ten person-days to under one. Exposure questions became a filter rather than an exercise, and the finance team stopped maintaining parallel spreadsheets within a month of the second release.

Because metric definitions are visible next to the numbers, the standing argument about whose figure was correct disappeared.

No hand-offs, no translation layer, no waiting three weeks for a small answer. Oakstone became part of our operating rhythm.
Priya Nair
COO, Cinder Capital
Stack
Next.jsPostgreSQLDrizzleClerkRechartsAWSTerraform
Team

One product lead, one designer, three engineers

Constraints
  • Regulated reporting meant every metric needed a documented calculation
  • Audit logging on all write and export actions from the first release
  • No customer data could leave EU-hosted infrastructure
What we would do differently

Shipping the portfolio slice before capital events was correct, but we should have modelled capital events in the same discovery. Retrofitting them into the schema cost about two weeks.

Making metric definitions visible in the interface ended the "whose number is right" argument almost immediately. It is now something we build in by default rather than on request.

A better brief starts here

Your next proof point is waiting.

Bring us the hard thing. We will bring a point of view, a senior team and a clear next step.

Start a conversation