VECTORSHIFT / SYSTEMS OF RECORD

Every number has a source.

A system of record for private equity where every number traces to its source document. Quarterly close went from weeks to days.

THE PROBLEM

Fund numbers lived apart from the documents that proved them, so every quarter end turned into a reconciliation exercise.

MY CALL

Make provenance a product requirement. A number cannot exist in the record without the document it came from.

WHAT CHANGED

Nothing left to reconcile at quarter end. Quarterly close dropped from weeks to days.

Quarterly close
Weeks → days
Portfolio companies
100+
Transactions
10,000+

Context

Company
VectorShift (YC S23), enterprise AI platform with 100,000+ users
My role
Built it as a software engineer, as part of the pivot into financial services
Customers
Private equity and financial-services funds, $15B+ AUM across clients
Scale
100+ portfolio companies, 10,000+ transactions
01 / PROVENANCESource documentOriginal evidenceExtracted figureSource-linked recordReported numberTraceable outputTRACE THE NUMBER BACK TO ITS SOURCE
01 / PROVENANCESource documentOriginal evidenceExtracted figureSource-linked recordReported numberTraceable outputTRACE THE NUMBER BACK TO ITS SOURCE
Conceptual provenance chain. A reported figure keeps a path back to its source document. No customer data is shown.

The problem

A private equity fund reports on every company it holds and every transaction behind those holdings. Investors, auditors and the fund’s own partners rely on those numbers.

Before Portfolio Engine, a reported figure and the document behind it lived in different places: exported spreadsheets, board packs, emailed financials. The number travelled. The proof stayed behind.

So at quarter end, the work was not calculating the numbers. It was finding out where each one came from and whether it still matched its source.

EVIDENCE
  • Quarterly close was taking weeks.
  • The same question kept coming up in reviews: where did this number come from?

Constraints & non-goals

Constraints

  • Scale. One record covering 100+ portfolio companies and 10,000+ transactions.
  • Financial reporting has no tolerance for plausible. A number has to be provable, not just likely to be right.
  • Source documents arrive in different formats from every portfolio company.

Out of scope

  • Replacing each portfolio company’s own accounting system.
  • Generating commentary on performance. Get the record right first.
  • Scenario modeling. That became a separate layer that never writes to the record.

Options I weighed

  • NOT CHOSEN

    An audit trail as a separate feature

    Provenance would sit one click away from the decision, and nobody clicks. It also lets numbers exist without a source.

  • NOT CHOSEN

    AI extraction with a confidence score

    A score tells a reviewer to worry, not what to check. A fund needs the document, not a probability.

  • CHOSEN

    Provenance built into the record itself

    Reconciliation becomes a property of the data model instead of a task someone does at quarter end.

The spec

spec / portfolio-engine.mdVectorShift

Users

  • Fund finance and operations teams who own quarterly close.
  • Deal teams who present portfolio numbers.
  • Investors and reviewers who question them.

Requirements

  • Every reported number links to the source document it came from.
  • Figures are stored at company and transaction level, then rolled up to the fund.
  • A reviewer can open the source from the number in one step.

Acceptance criteria

  • A figure with no source link cannot be saved to the record.
  • Any fund-level number can be traced down to its transactions and their documents.
  • Correcting a source updates every figure that depends on it, and keeps the history.

Guardrails

  • No number enters the record without a traceable source.
  • Close time must not get worse while teams move onto the system.

What shipped

  1. Ingest

    Documents from portfolio companies come in and are parsed.

  2. Extract with a link

    Each figure is stored together with a reference to the document it came from.

  3. Roll up

    Transactions and company figures aggregate into fund-level reporting.

  4. Trace

    Anyone looking at a number can follow it back to its source.

What changed

Quarterly close dropped from weeks to days, because there was nothing left to reconcile.

  • The record now covers 100+ portfolio companies and 10,000+ transactions.
  • It became the ground truth that conversational exit modeling runs on top of.

HONEST CAVEATClose time is the reported workflow outcome. Moving onto one record also removed manual consolidation, so I don’t credit provenance alone.

Reflection

This reframed what an AI product is for me. The valuable part was not generating numbers. It was making them verifiable.

If I did it again, I would lock the provenance data model before building the first ingestion pipeline. Adding source links to early records later costs more than building them in.

Last updated · Company tenure is VectorShift · Jul 2025–present, not a claim about individual project dates.