Skip to content

Blog

Updates from the Canadian Political Data team — launches, technical deep-dives, and notes on what we shipped and why.

A week of coverage, commerce, and one big licence change

Eight days, thirty-eight commits. The kind of week that warrants stepping back from "what did we ship today" to "what shape is the project in now." Three big threads ran in parallel — provincial coverage, monetization, and one quiet-but-load-bearing governance decision.

Accounts, alerts, corrections — CPD is now two-way

Canadian Political Data has been a read-only site since launch. You could browse, search, and click around, but the site had no idea who you were and couldn't do anything for you. That changes today.

Four new user-facing features shipped this week. Plus Quebec Hansard came online, which brings us to three provincial Hansards live. Here's the short tour.

From months to hours: rebuilding the embedding pipeline

Canadian Political Data's search layer runs on vector embeddings — every speech chunk in the corpus is transformed into a 1,024-number fingerprint that lives in a mathematical space where similar meanings cluster together. Ask "housing affordability" and you get back chunks that never use the phrase but argue about gatekeepers, missing middles, and supply-side vs demand-side — because the model understands what the words mean, not just what they are.

Getting there wasn't free. This post is about what it cost, what I found along the way, and what it unlocks.

Towards the definitive source of Canadian political data

When we started SovereignWatch last year, the question was narrow: where is Canadian political data actually stored? We built a scanner, mapped ridings to server pins, and coloured the country by sovereignty tier. The headline — that referendum campaigns for both "leave" and "stay" overwhelmingly host in the United States — did what it was meant to do.

The project is now outgrowing that question. The infrastructure we built to track hosting is, it turns out, most of the infrastructure you need to track political speech itself. This post is about what comes next.