The Wired Connection faster Tour Restricted

Procurement · Drive + Claude

Contract Management

A living dashboard of every supplier contract TWC has on file, with auto-extracted renewal dates, BAA status, and 90-day spend at risk. Refreshed every two weeks.

Open the dashboard

This app is restricted to a subset of users, not everyone will be able to access this information. If you need access, request it below and Avery Sinclair will get you added.

Click here to request access Or DM on Slack

Open Contract Management dashboard

How it works

  1. Drive folder is the source of truth.

    Drop a new supplier contract PDF into the shared "Contract Database" folder. That's it, no spreadsheet, no ticket.

  2. Pipeline runs every two weeks (and on-demand).

    A Lambda diffs Drive against state, sends new/modified PDFs through Claude Haiku 4.5 to extract effective dates, expiration, auto-renewal terms, notice periods, annual cost, contract type, BAA presence, and a one-line summary.

  3. Per-supplier rollup.

    The dashboard groups extractions by supplier and surfaces the earliest upcoming renewal, summed annual cost, and BAA compliance status.

  4. Alerts.

    Monthly digest to Avery Sinclair + Bram. 60-day heads-up before any renewal that requires ≥30-day notice. Page Avery Sinclair on a pipeline failure.

BAA exemption? Use the "Mark BAA not required" button on the supplier row. The audit log (reviewer, timestamp, reason) is captured in DynamoDB.

How the dashboard calculates what you see

Each panel on the dashboard is computed from the same per-PDF extraction the pipeline produces. Knowing how the math works helps you decide when to trust a number and when to second-guess it.

  1. Spend at risk in next 90 days.

    For every supplier whose next renewal falls inside the 90-day window, we sum the extracted annual cost. Auto-renewing contracts count unless we've flagged the supplier as terminating. Contracts past their hard expiration are excluded, they're already gone, not at risk. The percentage on the gauge is "at-risk annual" divided by "total annual spend tracked."

  2. BAA compliance, the nuanced version.

    For each BAA we found (standalone BAA PDFs or BAAs bundled inside an MSA), Claude reads the BAA's term clause and labels it one of four ways:

    • Co-terminus, the BAA runs with the master agreement. Valid as long as any non-BAA contract in the same supplier folder is still active.
    • Perpetual, the BAA stays in force for the life of the business relationship. Valid until you mark it not required.
    • Fixed term, the BAA has its own explicit expiration date. Valid until that date.
    • Ambiguous, language present but unclear. Surfaced in the steel-blue "needs human review" panel so a person reads the BAA before we decide.

    The supplier-level status rolls up the per-BAA labels: compliant if any BAA is valid; needs review if none are valid but at least one is ambiguous; expired if every BAA is date-expired with no ambiguity; missing if no BAAs were found at all. The dana "BAAs to review" banner only lists the expired bucket, the steel-blue panel lists review.

  3. Next renewal date.

    For contracts with auto_renewal=true, we compute the next anniversary after today from the effective date (or the last known renewal if we tracked one). For contracts with auto_renewal=false, the renewal date is the hard expiration. Per supplier we show the earliest upcoming renewal across all their contracts, that's the date you'd want a heads-up about.

  4. Annual spend.

    Sum of extracted annual costs across all contracts. Monthly figures get multiplied by 12; one-time fees are excluded from the annual figure (and surfaced in the total-contract-value line instead). Contracts without confidently-extracted pricing simply don't contribute, the "PDFs read · N with pricing" line under "Suppliers Tracked" tells you the coverage.

  5. Confidence and disclaimers.

    Every extracted field has a confidence attached (low / medium / high). The dashboard treats medium and high the same today; low-confidence fields still display but with a question mark in the tooltip. This is also the initial Drive pull, as we consolidate disparate document sources, expired and review counts will tighten up automatically.

Force a refresh

If you just dropped a contract and want it in the dashboard now, click the "Refresh" pill in the top-right of the dashboard. Run takes ~2 minutes.

Architecture

How a contract flows from Google Drive through Claude into the dashboard.

SOURCES AWS US-EAST-2 — EXTRACTION AWS US-EAST-2 — SERVING BROWSER Google Drive Contract Database PDFs Claude (Haiku) extract dates · BAA · cost EventBridge bi-weekly + daily cron Refresh Lambda 8-worker extraction State S3 versioned JSON HTML Renderer static dashboard Site S3 index.html + one-pagers CloudFront SSO gate · OAC origin BAA API Lambda Function URL · SigV4 Dashboard renewal + spend-at-risk DynamoDB exemptions · attestations trigger list PDFs extract persist aggregate write HTML origin GET (SSO) /api/* CRUD
Every two weeks an EventBridge schedule wakes the Refresh Lambda, which lists contract PDFs in Drive, has Claude extract renewal dates, BAA status and cost, persists versioned JSON to S3, and renders a static dashboard. CloudFront serves it behind SSO; the BAA API (Function URL, SigV4) backs exemptions and attestations in DynamoDB.

← back to all tools