Skip to content

Portfolio

Things we have built and delivered.

Different domains, same motion. Start with something that matters. Organize only what it needs. Put it into use. Keep what you learned.

The details change. The discipline does not: make what is known clear, keep the unknowns visible, and leave a better starting point behind.

In progress

What we are building now.

These are active examples of the same motion. Running means there is something usable today. Building means we are still putting the pieces together.

  1. 01 / Running

    2026-08-13

    Procurement

    Which executed statements of work fail our policy today, and why?

    documents → narrow extraction → deterministic score → quoted evidence → portfolio re-score

    A working contract-risk system separates reading from judgment. Change a policy lever and the portfolio re-scores without another model call.

  2. 02 / Building

    2026-08-12

    Banking / community development

    Which communities are underserved, how do true peers compare, and what evidence supports the conclusion?

    five public data families → entity resolution → evaluation corpus → peer evidence → geography-level signal

    The source universe is mapped. The hard part is joining incompatible identifiers, historical geography, lending data, and regulator narratives without losing the as-of date.

  3. 03 / Running

    2026-08

    Insurance / structured finance

    What does this insurer actually hold?

    statutory filings → layout fingerprint → deterministic parse → reconciliation gates → security and property holdings

    The parser accepts a value only when the filing evidence and reconciliation checks support it. Partial and refused parses remain visible instead of being guessed through.

  4. 04 / Building

    2026-07

    Structured credit

    Who holds a given CLO tranche, and what changed this week?

    fund filings + daily holdings + statutory sources → identity graph → holder observations → change signal

    The visible holder base is scattered across incompatible sources. The work is to reconstruct the observable slice and make coverage explicit.

The motion

The same four moves, over and over.

You do not need to organize everything first. Each piece starts with one useful question and only the information needed to move it forward.

For the practitioner

  1. 01Pick something that matters
  2. 02Organize what it needs
  3. 03Put it into use
  4. 04Keep what you learned

Under the hood

  1. 01Find the right sources
  2. 02Keep the unknowns visible
  3. 03Separate reading from judgment
  4. 04Leave the evidence attached

Every problem should leave the practice more capable than it found it.

Questions

Questions that led somewhere.

Some became products. Some became recurring systems. Some simply made the boundary between what was known and what was not much clearer.

  1. 01Structured financeWho actually holds this bond?
  2. 02ProcurementShould we accept this vendor increase?
  3. 03ContractsWhich statements of work fail our policy?
  4. 04InsuranceWhat does this insurer actually hold?
  5. 05BankingWhich communities are materially underserved?
  6. 06Structured creditWho holds this CLO tranche, and what changed?
  7. 07Commercial real estateWhat does this CRE book most likely contain, property by property?
  8. 08Multifamily financeWhich agency-backed loans cost more than they should?
  9. 09Point-in-time researchWhat could actually have been known on that date?
  10. 10Vendor spendWhat are we paying for that we can reproduce or replace?
  11. 11Public filingsCan this model answer be reconstructed from the record?
  12. 12Data operationsWhich source changed, what did it change, and who needs to know?

Delivered examples

What mattered. What we made usable. What stayed useful.

The reader should not need to know the domain first. Each example starts with the practical need, then shows what we put into use and what became easier to see or do afterward.

Financial data

Can we answer the question and show where it came from?

People can get an answer quickly. The harder part is knowing where the number came from and whether it still holds. We built a question-answering service over public financial data that keeps the source and date with the answer. What stayed useful was the evidence, not just the chat.

Source
Public data, traced to source on request
Coverage
Finance and procurement datasets

Source check

What evidence supports the overnight rate?

markets.newyorkfed.org
  • Structured finance

    Can scattered filings become something people can actually use?

    The information needed to understand a deal is public, but it is spread across filings and reports. We built DealCharts to organize that information into searchable deal, fund, and BDC pages with the source trail attached. Once the information is organized, people and models have a much better place to start.

    Source
    Public SEC filings and remittance reports
    Coverage
    Deals, funds, BDCs, and downloadable datasets

    Public SEC filings and remittance reports

    Deals, funds, BDCs, and downloadable datasets

  • Procurement

    Should we accept this price increase?

    A buyer needs more than a vendor explanation before accepting an increase. We built a signal from public energy, producer-price, and industry-use data to show when a resin increase may hold. The useful lesson was that public data can provide a starting position quickly, while the team's own contract data can sharpen it later.

    Source
    Henry Hub, BLS PPI, and WTI, all public
    Coverage
    213 scored events, 56.8% directional match

    Henry Hub, BLS PPI, and WTI, all public

    213 scored events, 56.8% directional match

  • Contract review

    Which contracts need attention today?

    Teams repeatedly review the same contracts against changing policies. We built a system that reads executed statements of work, scores each one pass, review, or fail, and keeps the quoted evidence with the decision. Change a policy threshold and the whole set re-scores without asking a model to reinterpret everything.

    Source
    Executed SOWs filed as public SEC exhibits
    Coverage
    Policy-scored, with a receipt on every verdict

    Deterministic verdict

    review · 0.55

    quote evidence
    source unchanged
    policy re-score without another model call

  • Ownership

    Who actually holds this bond?

    The question is simple. The public record is not. We traced one class of a live auto ABS deal across prospectus, servicing, fund-holdings, and risk-retention filings. We can name some ownership and show exactly where public visibility stops. The important part is keeping what is known and what is still unknown separate.

    Source
    SEC 424B5, 10-D, N-PORT, and Reg RR
    Coverage
    One class traced, sources still being added

    SEC 424B5, 10-D, N-PORT, and Reg RR

    One class traced, sources still being added

  • SEC filings

    Can AI reach the filing instead of asking someone to paste it in?

    Teams were asking AI questions that depended on current SEC filing context. We built a bounded EDGAR tool surface so compatible agents can query filing metadata directly. The useful shift is simple: the model can reach the source material when it needs it instead of starting from another manual upload.

    Source
    SEC EDGAR filing metadata
    Coverage
    MCP-compatible clients

    SEC EDGAR filing metadata

    MCP-compatible clients

  • Verification

    Can a claim be checked before somebody repeats it?

    A claim from a model, memo, or article is easy to repeat and harder to verify. We built a public verification service that checks supported CMBS claims against SEC filings, links to the sources, and says when it cannot verify something. Verification becomes a repeatable step instead of another research project.

    Source
    SEC ABS-EE and 10-D filings
    Coverage
    519 CMBS deals, latest held filing period per deal

    Public verification surface

    https://receipts.cmdrvl.com/mcpclaude mcp add --transport http receipts https://receipts.cmdrvl.com/mcpcodex mcp add receipts --url https://receipts.cmdrvl.com/mcp

    Connect, call quickstart, then send the text to verify_claims. Call coverage before reading an UNVERIFIED result.

  • Point in time

    What could actually have been known on that date?

    Historical financial questions go wrong when today's knowledge leaks into yesterday's answer. We built a benchmark that asks what value, citation, and data date were actually available at the time, and expects the system to decline when the fact was not yet knowable. The unknown is part of the answer.

    Source
    Official public archives
    Coverage
    Rates and Calendars, 96-task demo fixture

    Point-in-time check

    What was knowable on that date?

    decline: post-cessation

    96-task demo fixture

Bring us one thing that matters.

Tell us what it is and what you already have. We will find the smallest useful place to start, and you keep what gets built.

Book a call