Blue Maple Foundation · Investment Operations Demos

Six dashboards across both halves
of an investment office.

A working portfolio of internal tools spanning the two sides of the desk: four operations dashboards for the ops & recon team (data reconciliation, sign-offs, document retrieval) and two investments dashboards for the investment team (performance reporting and the manager-research pipeline). Built to replace Excel pivots, PDF squinting, and the back-and-forth emails that start with “does this number look right to you?”

4
Operations tools
2
Investment tools
247
Managers tracked
1,400+
Fund-period rows reconciled

WhyThe problems these solve

Investment offices run a handful of workflows that don't fit cleanly into any single SaaS tool. The six dashboards in this collection cover four of them — data reconciliation, performance reporting, document gathering, and dealflow tracking.

1. Reconciling three different “systems of record”

An investment team running a long-term capital pool typically pulls fund data from three independent systems:

None of these agree, and the gaps matter: a 3% difference on a $100M fund is $3M, and the recon team gets paged when it shows up in board materials. → Private Recon, Public Recon, Recon Sign-offs.

2. Pulling stories out of a 23-page monthly PDF

The internal reporting team (typically operations or risk) publishes a 23-page Performance Report each month: cover page, summary tables, absolute and relative returns, dollar PnL, public and private valuation bridges, peer rankings, co-investments. The data is all there — but answering one specific question, like “what was Manager X's FYTD vs benchmark, and how has that changed month over month?” still means cross-referencing four tables on four pages and scrolling back through a folder of last quarter's PDFs. → Performance Report Dashboard.

3. Finding the right document, fast

Capital calls, distribution notices, K-1s, audited financials — all flow into the team's document store (Canoe Intelligence is the market leader). The vendor's native UI works one-document-at-a-time, but the team's actual job is usually batch: “pull every 2025 capital call from a specific sponsor, organized by fund, for the tax team.” That's a several-hours-of-clicking exercise. Tax season multiplies it by a hundred. → Canoe Documents.

4. Tracking the manager research pipeline

New manager research lives in scattered emails, Excel screening sheets, and people's memory. As the pipeline grows from a dozen to fifty active conversations, items drop — an intro thread goes cold, a diligence task gets assigned twice, a fund's target close slips by unnoticed. Onboarding a new analyst is slow; answering “what's the status of Manager X's fund III?” should not require pinging two people on Teams. → Dealflow Tracker.

DemosThe six dashboards

Grouped by which team uses them day to day. Click any card to open the live demo, or read the guide for the why, the data, the features, and a step-by-step walkthrough.

Investments Tools the portfolio team lives in

Read-and-decide tools — how the portfolio is doing, and who is next in the pipeline.

Multi-snapshot · 245+ managers

Performance Report Dashboard

Interactive view of every monthly performance report. Cascading Month → Run Date pickers, manager detail panels with valuation waterfalls and benchmark deltas, peer rankings, and cross-snapshot trends — all from raw PDF inputs.

Pipeline · Kanban · Multi-user

Dealflow Tracker

FastAPI + SQLite pipeline tool for the manager-research team. Every prospective manager, every fund, every diligence task in one workspace — with Kanban-style task boards, comments, document uploads, and a fundraise calendar.

Operations Tools the ops & recon team lives in

Reconciliation, sign-off, and document-retrieval tools — how the numbers get checked and the files get found.

Quarterly · PCAP extraction

Private Fund Recon

Three-way reconciliation across MSCI, Backstop, and PDF capital account statements for ~160 private funds across multiple quarters. Includes a scatter explorer with selectable axes (any system × any metric) plus a column visibility picker.

Monthly · Returns & PnL

Public Fund Recon

Same recon engine for publicly traded funds — 11 metrics per system (returns + PnL across MTD, YTD, FYTD, 1Y, 3Y), 33 metric columns total. Column picker hides 22 columns by default for a clean monthly review view.

Sign-off workflow · Multi-source recon

Recon Sign-offs Dashboard

Compares the MSCI Excel export against the Backstop PDF row-by-row, tinted by tolerance severity. Reviewers click a manager, read the auto-generated likely-cause hints, leave a note, and sign off. Approvals persist to a shared file the whole team reads.

API client · NL search · Voice input

Canoe Documents

Natural-language search and one-click batch downloads over the team's Canoe document store. Type “all 2025 capital calls from Stonehaven Group” and Claude turns it into a Canoe filter; results stream in; download arrives pre-organized.

HowEngineering notes

Each callout: a one-line plain-English summary anyone in finance can scan, plus the engineering detail underneath. Green callouts are LLM/AI cost-or-friction wins; blue are data & system-design wins.

LLM-powered PCAP extraction. Instead of paying a vendor $25k+/yr to read fund statements and key numbers in by hand, an AI does it for cents per page — with a confidence score and source quote on every number. Anthropic Claude reads every quarterly capital account statement and extracts the seven fields the recon team needs — commitment, unfunded, paid-in, distributions, NAV, DPI, TVPI. Same workflow at a typical mid-sized investment office is outsourced to Canoe / Backstop PCAP / Cogent at tens to hundreds of thousands per year. Here it's a few cents per PDF in the same Python pipeline that builds the dashboards.
Prompt caching on PCAP boilerplate. Every quarterly statement has ~30 pages of identical legal boilerplate. Caching that part cuts the per-statement AI bill by roughly 70%. Anthropic prompt caching is applied to the boilerplate sections of each statement; only the variable financial tables consume fresh input tokens. Batched extraction runs share a single warm cache across hundreds of PDFs per minute.
Natural language → vendor API. Type plain English (“all 2025 capital calls from Stonehaven Group with NAV above $50M”). The system translates it into the vendor's filter syntax automatically — no query language to memorize. Claude maps the NL query into Canoe's structured filter API (document type, fund identifier, date range, metric thresholds) and the dashboard sends one structured request. Same pattern is reused for MSCI Total Plan, FactSet, and Bloomberg — one LLM front-end for every vendor.
Auto-generated reconciliation hints. When a number doesn't match, the dashboard pre-fills the most likely reason — FX rate off by a day, currency mismatch, accrual not yet posted. Reviewer just confirms or overrides. The sign-offs dashboard surfaces a likely-cause hint for every variance, built from a small library of past resolved variances. Cuts per-item sign-off time from ~3 min to ~30 sec; resolved notes flow back into the corpus.
Cross-system entity resolution. When a single fund is spelled three different ways across MSCI, Backstop, and Bloomberg, the system figures out they're all the same fund automatically — no manual mapping spreadsheet. A rapidfuzz scorer with domain rules (strip “LP”/“Ltd”/“Fund” suffixes; require legal-entity tokens to match exactly; tie-break on AUM and inception date) handles the 160-fund matrix at zero touch. Same problem at a typical investment office is a quarterly manual reconciliation.
Tolerance-based severity tinting. Variances are color-coded by severity. A 0.5% NAV mismatch on a public fund is red; the same on a private fund is green (normal valuation noise). Reviewers triage 100 lines in < 5 minutes. Per-asset-class, per-metric tolerance thresholds drive the green/yellow/red tint on every row. Thresholds are configurable per metric. The UI sorts unresolved variances to the top of each tolerance band so reviewers focus on genuine outliers.
Anonymization that preserves statistics. All names are fake (mountain themes) and the numbers are slightly jittered, but the patterns — who outperforms, where risk concentrates, how returns correlate — remain real and instructive. Mountain-themed pseudonyms (Stonehaven, Cascade Ridge, Granite Peak) replace identifying names. Every financial figure is jittered ±5–15% with the jitter seeded from the fund's hash — so the same fund jitters by the same amount on every build, no day-to-day drift. Distributions, rankings, and cross-fund correlations are preserved within the noise band.
Vanilla JS, no build pipeline at runtime. These dashboards run as plain HTML files. No installation, no special browser, no IT helpdesk ticket. Drop the file on SharePoint and it just works. Zero framework, zero CDN, no node_modules. Single self-contained HTML file per dashboard with the data baked into a const block. Works on locked-down corporate networks where modern web tooling can't reach. Three properties that matter on shared drives: portable (drop anywhere, just works), versionable (git log on a folder = complete audit trail), offline-friendly (no API calls, no auth).

Pipeline stack: pdfplumber for table extraction · SQLAlchemy + SQLite for the recon stores · Anthropic API for ambiguous PDF fields · rapidfuzz for cross-system manager matching · one build_demos.py script for end-to-end reproducibility.