I Loaded Canadian Parliament Into an AI. Here's What I Found.
What thirty years in tech taught me about misinformation — and why I built CanadaGPT
I was 21 years old when I dropped out of the music program at Western and stumbled into technology.
This was the early 1990s. The internet was not yet a thing most Canadians had heard of. I helped build one of Canada’s first ISPs — back when explaining what the internet was to a potential customer was part of the sales call. From there, a career I never planned unfolded: enterprise software, New York City in the early 2000s supporting CIBC Wood Gundy through some of the most chaotic markets — and days — in modern history, including September 11th. Then five years in Silicon Valley, where I watched technology reshape entire industries from the inside.
Thirty years in tech. I’ve seen a lot of transformations.
Nothing prepared me for what I saw coming out of Election 45.
The Thing About Misinformation
Here’s what I’ve come to believe after three decades in this industry: misinformation doesn’t thrive because people are stupid. It thrives because the truth is hard to find.
Canada, to its enormous credit, has built some of the most open government infrastructure of any democracy on earth. Parliamentary debates are published in structured XML. Every recorded vote is documented. Lobbying contacts are registered. Government contracts over $10,000 are disclosed quarterly. Political donations are public record. Elections Canada publishes riding-level results going back decades.
The information is there. It’s all technically available.
But navigating it? That’s another story entirely.
I sat down one afternoon to answer what seemed like a simple question: how much was a specific MP spending? What I found was a maze. Download this file. Set up these filters. Cross-reference this spreadsheet. Add categories that don’t match the categories in the other spreadsheet. What the government calls disclosure, I could barely call accessible.
And I kept thinking: if someone with my background is struggling this much, what chance does an ordinary Canadian have?
This is why misinformation wins. Not because facts don’t exist — they do, they’re public, they’re free. It’s because the path from question to verified answer is so difficult that most people give up, or never start. When the truth requires a spreadsheet and an afternoon, the lie wins by default.
What Election 45 Changed
I’d been thinking about this problem for years. Election 45 crystallized it.
For the first time, I watched AI being used to access and explain political information in natural language — multiple languages, conversationally, and for the most part impartially. I realized this was something genuinely new. Not just a faster search engine. A way for ordinary people to ask real questions and get real answers grounded in actual source material.
I went back to that MP expenses problem with fresh eyes. I tried using the AI tools publicly available at the time. And I discovered a new problem: even the best AI in the wild didn’t have a reliable handle on Canadian parliamentary data. It could sometimes find sources, but the data wasn’t structured. The connections between documents weren’t mapped. An MP’s statement in Question Period wasn’t linked to the lobbying contact from the month before, or the government contract that followed six months later.
AI without structure is almost as unreliable as no AI at all. The hallucinations aren’t random — they happen precisely where the data is unconnected, where the AI has to guess instead of retrieve.
So I built the structure.
What I Built
I started with a Neo4j graph database — a purpose-built system for storing not just information, but relationships. MPs connected to ridings. Ridings to provinces. MPs to votes. Votes to bills. Bills to committee hearings. Committee witnesses to lobbying registrations. Lobbying clients to government contracts. Donors to parties to candidates.
When everything is connected, a question stops being a search and becomes a traversal. You can follow a thread across hundreds of thousands of documents in seconds.
Today, CanadaGPT runs 24 automated data pipelines pulling from 15+ official Canadian government sources, including the House of Commons, Elections Canada, Statistics Canada, the Office of the Commissioner of Lobbying, Open Canada, GC InfoBase, the Meta Ad Library, and several news RSS feeds. The system updates continuously — hourly for lightweight changes, every 30 minutes for breaking news with entity extraction, daily for Hansard and committee proceedings, weekly for lobbying and political ads, monthly for ATIP requests, donations, and departmental spending.
The result is a knowledge graph containing over 500,000 Hansard statements, 100,000+ lobbying meetings, and 2 million+ political donations — all connected, all cross-referenced, all queryable.
The platform also pulls in a live Canadian news feed with automatic entity extraction — so when a story breaks about a specific MP, bill, or committee, it’s instantly linked to their record in the graph. And for people who think visually, there are data visualizations that make complex policy tangible in ways a spreadsheet never could. One of my favourites is the equalization payments explainer — an interactive breakdown of how federal transfer payments flow between provinces, built on actual fiscal data. It’s the kind of thing that makes a genuinely confusing policy debate suddenly make sense.
The AI assistant is called Gordie. He speaks English and French, knows what happened in Parliament today before you ask, and can cross-reference a minister’s statement in Question Period against the lobbying contacts their office received last month. He doesn’t guess. He queries.
CanadaGPT is live at canadagpt.ca.
A Note on Launch Day
This is version one. It works, it’s real, and there’s more data behind it than anything else like it in Canada. But it’s not perfect. Gordie will occasionally misunderstand a question. A visualization might not render the way you expect. Something will be missing that you think should be there.
That’s where you come in. Hit reply, leave a comment, or find me on social. Every piece of feedback makes this better — and making this better is the whole point.
Radically Available
That phrase has become something of a north star for me.
Radically available primary source information blows up bullshit.
Not opinion. Not commentary. Not someone’s interpretation of what a politician said. The actual Hansard transcript. The actual vote record. The actual lobbying registration. The actual contract disclosure. When you can trace a political donation through to a lobbying contact through to a government contract in a single query — that’s not analysis, that’s arithmetic.
When that information is genuinely accessible — not just technically public but actually findable, in plain language, in seconds, by anyone — the dynamics of political misinformation change fundamentally. You can’t claim an MP voted a certain way when anyone can verify it in thirty seconds. You can’t claim government spending went somewhere it didn’t when the contracts are right there.
This is the vision. Not just a research tool for journalists and policy wonks, but something closer to infrastructure — shared, open, continuously updated evidence that any platform, newsroom, researcher, or citizen can access.
That’s actually what we’re building next. It’s called P.R.I.S.M. — the Public Registry of Information, Sources, and Misinformation — an open API that lets any platform, newsroom, or civic organization submit claims for verification against the CanadaGPT knowledge graph. No need to build your own parliamentary data pipeline. Just an API key and a question.
This Is My Passion Project — And I Need Your Help
I want to be honest with you: CanadaGPT is not a venture-backed startup. It’s not a government grant. It’s a passion project built by someone who has spent thirty years watching technology transform industries and believes — deeply — that this is the moment to apply it to democratic accountability.
I’ve poured everything into this: the architecture, the pipelines, the analysis tools, the interface, the research framework. But keeping it running costs money that doesn’t come from anywhere but people who believe this matters. Servers. Data. APIs. They don’t stop.
If you believe Canadians deserve radical access to their own government’s information — subscribe to Northern Variables. Your subscription directly funds the infrastructure that keeps CanadaGPT alive, independent, and growing.
Canada has the data. Let’s make it actually available.
I’ve been in tech long enough to know that the tools that change things aren’t always the flashiest ones. Sometimes it’s just the one that finally makes the obvious possible. Canadians have always had the right to know what their government is doing. I just want to make sure they can actually exercise it.
The antidote to misinformation isn’t more opinion. It’s easier access to facts. That’s what this is. That’s what it’s always been about.
The People Behind It
I also want to acknowledge the people who have shown up for this. Ethan Borg, a University of Western Ontario Computer Science graduate, heard about CanadaGPT over a business lunch a few months ago and has since dedicated himself to it nearly full time, helping bring the platform to production grade. He’s not alone — others have been reaching out to contribute their skills and time as well. I won’t name everyone, but I want them to know it doesn’t go unnoticed. When people volunteer their expertise for something like this, it tells you the idea matters.
Matthew Dufresne is from London, Ontario. He dropped out of the music program at Western in 1990, helped found Southwestern Ontario’s first internet service provider, spent years at Cisco in San Jose, and was on the ground in New York on September 11th helping restore infrastructure for Canadian financial institutions. He’s been a Salesforce consultant for most of the last two decades, is finishing an accounting diploma at Fanshawe, still teaches music on the side, and somehow also built CanadaGPT. He’s not entirely sure what category that puts him in either.
CanadaGPT is an independent project built by Connexxia Inc.. In a moment when data sovereignty matters more than ever, CanadaGPT is built in Canada, by Canadians, hosted in Montreal, and all information stays here. Full stop. It is not affiliated with the Government of Canada, the House of Commons, or any political party.





I appreciate what you have done. Thank you.
This is amazing! Thank you for doing this work. It must have been fascinating being involved in the cutting edge of AI! Does the government know?? Can other countries access it too? Is it secure? Is Gordie named after Gord Downie?