← All writing
May 18, 2026

Building a Bloomberg terminal for political giving

claudeproductioncase-study

A foundation has a fixed pool of money and a 2026 election cycle to spend it on. The question is not abstract: which races, which candidates, and how much? The answer has to be defensible, current, and grounded in real data, not vibes.

That was the brief behind a political intelligence platform I built for an environmental foundation. The framing we landed on was a Bloomberg terminal: a dense, fast surface where every race carries a competitiveness signal, every candidate carries a climate score, and the system can recommend where a marginal dollar does the most good.

The data is the hard part

The model is the easy part. The hard part is keeping a living picture of hundreds of races and thousands of candidates fresh enough to trust. We run a fleet of scheduled pipelines, prediction markets, polling aggregates, federal filings, and public statements, each on its own cadence, each writing into a Postgres database with vector search for the unstructured pieces.

When a pipeline goes stale, the platform should degrade honestly rather than pretend. Showing a confident number built on month-old inputs is worse than showing nothing.

Where Claude earns its place

The temptation with a project like this is to sprinkle a chatbot on top and call it AI. We did the opposite. Claude is in the loop where judgment is genuinely required:

  • Generating competitiveness ratings where structured signals are thin.
  • Producing climate scores as a proxy when an authoritative score does not yet exist.
  • Summarizing the why behind a recommendation in language a program officer can act on.

All of it runs under a hard daily spend cap enforced in code, with cheaper models for the high-volume work and the strongest model reserved for the calls that matter.

Guardrails are a feature

Production AI on a real decision needs more than prompts. We shipped row-level security so the data layer enforces access, rate limiting at the edge, error tracking, and product analytics so we can see what people actually use. The boring infrastructure is what makes the interesting part trustworthy.

The lesson

The durable value was never a single clever prompt. It was the recurring work: pipelines that refresh, scores that update, recommendations that change as the race changes. That is the difference between a demo and a system someone runs their real decisions through.


← Back to all writing