In 2020, most people reacted to the complete fucking collapse of society as we knew it by making a sourdough starter, teaching their parents how to use Zoom so the family could play Jackbox, or simply cooking their brain with algorithmically served ragebait and pig slop.
In addition to the last one, I built an election forecast model.
Now, “model” might be a generous term for what it actually was; an elaborate Rube Goldberg machine of an Excel workbook - formulas chained to lookup tables, chained to other formulas, with enough color-coding to make it look sophisticated to anyone who did not click into a cell.
By 2022, one Rube Goldberg machine became several Rube Goldberg machines (Rubes Goldberg?). They fed into a single Python script that spit out a bunch of numbers in my command terminal.
In college, I had done enough work with large datasets and statistical analysis to be dangerous. I had been reading FiveThirtyEight since I was in high school (I’m 33 now) and I cannot stress the extent of the rabbit hole I went down six or seven years ago when I found out G. Elliott Morris (on behalf of The Economist at the time) released their code onto Github for all to see. I’ve spent an alarming percentage of my life thinking about polling averages, correlated error, and whether or not Waukesha County is “crucial.”
None of this amounted to formal training, obviously. Of all the election forecasts out there, this is the only one I can confirm was built by a silly little court jester. Nevertheless, this thing keeps calling to me like the Green Goblin mask.
So in 2024, I went for it. I drove myself insane rebuilding the model, building a website, and putting the forecast online where other human beings could see it, believe it, and hopefully not be led astray by it. You can view the outputs of that forecast on the site, scored against the actual results. I’ll have a lot more to say about it in future posts - where it went right, where it went wrong, and all the ways I learned how NOT to do this.
The website was held together by sticks, glue, and an overpriced Squarespace subscription. The code only lived on my Mac, and I had no idea how to make the two talk to each other. Once a week, I would spend hours manually editing all the modules.
As someone with weapons-grade ADHD/ASD, you can imagine that was a very poor use of the limited executive function I have. Was it worth it? Emphatically no. After Trump won again, I very confidently declared I was never going to spend months of my life skipping the gym and becoming incredibly withdrawn from the outside world to build something I have no business trying to create.
Welp.
Last year, Disney shut down FiveThirtyEight and laid off the entire remaining staff before fully removing the site from the web, redirecting all links to the ABC News politics page, taking nearly two decades of useful data journalism along with it.
Their Github repository is still online. Nobody tell them.
It’s not as if there isn’t a murderers’ row of alternatives, many started by alums of Nate Silver’s former mothership. VoteHub, FiftyPlusOne, Silver Bulletin, Decision Desk HQ, Race to the White House, Split Ticket by way of The Argument…all fantastic, all built by people with more formal training, more institutional resources, better track records, etc. You should absolutely frequent one or more of them in addition to this one. If you’ve read this far, I’m going to be presumptuous and assume you’re on board with the whole deal we’ve got going on here. How are you feeling? Are you enjoying the show?
But FiveThirtyEight, in my opinion, occupied a very different cultural role than any of those do. It was the public’s front door to election forecasting: a place political obsessives and people (mostly Democrats, let’s be honest) who are simply freaked out about what’s going to happen could use as the same broadly understood reference point. Everyone knew what it was, even if they needed a second to remember why it was called that.
The normie libs yearn for something they can habitually doom-refresh several times an hour.
I am not trying to replicate an entire newsroom here. This is ultimately a blog and a computer program with some fancy CSS. But when Disney killed the closest thing this field of data science had to a mass-market institution, I started hearing Willem Dafoe’s raspy tenor.

This time, I started months earlier than I thought I needed to, and even still, this is launching after nearly every other forecast. I cannot stress enough how building Solid Purple in 2024 drove me insane. Rebuilding it for 2026 drove me Insane Premium Plus™.
Returning readers will notice the website is a lot better now. This cycle, I went full Megalopolis, building exactly the website I wanted with no one to stop me from adding more and more features until it nearly buckled under its own weight.
The result is an independently produced probabilistic forecast of all 435 House seats and 35 Senate contests currently scheduled for this November.
Each race begins with the structural things we can measure: how the state or district normally votes, who is running, and what the national political environment looks like. It incorporates expert ratings from Cook Political Report, Inside Elections, and Sabato’s Crystal Ball, along with whatever useful race-level polling exists. Then, it simulates the entire election together, allowing national swings, regional patterns, and localized surprises to move races as parts of the same event rather than 470 unrelated ones. Most House races receive little or no direct polling, so a congressional forecast has to do more than average whichever surveys happen to exist.
tl;dr I feed an enormous pile of data into a bleep bloop machine and it spits out percentages. But that data lets us do a lot of other really cool shit too that I’m unreasonably excited about, and I hope you will be too.
- Scenario Builder - a tool that lets you lock in calls in frontline Senate races to see how the odds of chamber control change under those conditions.
- Path to 218 - a companion interactive for the House, allowing you to build a path for either party to hold the chamber. Both very cool. Both very computationally expensive.
- Polling Averages - The site tracks the generic congressional ballot, which asks voters the party they prefer to control Congress, as well as presidential approval.
- Dedicated pages for every congressional race. Each page includes information about the candidates, our expected margin, a range of plausible outcomes, win probabilities, available polling data, time-series charts…everything you’d ever want to know to take a deep dive into one particular election.
Solid Purple is not an oracle. The name itself comes from how expert raters qualify races - the only thing I am confident about is how uncertain I am, even when conventional wisdom says an election is all over but the crying. All I can really offer you, the reader, is an assessment of what the available evidence suggests, which outcomes are eminently plausible, and which assumptions are backstopping that assessment.
According to my therapist, I have a difficult relationship with uncertainty and a need to feel in control over events I very obviously do not control. I paid money to receive this insight, so now you get it for free.
At least for me, autism makes “we just don’t know” a much harder answer to live with than it is to understand. Numbers, ranges, assumptions, and a labeled axis do not make the uncertainty disappear. They make it something I can hold in my head.
This website will not change a single vote. It will not make a bad outcome less bad or a good one more deserved. The results will be the results whether Solid Purple exists or not.
But quantifying uncertainty changes the experience of living through it. It gives the fear edges. It turns an amorphous sense that everything is happening everywhere all at once into a set of possible outcomes that can be examined, compared, and understood.
That is not control. It is not nothing, either.
Politics is…good God. You know. I do not have to explain Hellworld to anyone voluntarily reading the launch post for an independent congressional forecast the August before a midterm.
But there are still maps and margins and weird little counties that tell us a lot about the country. I genuinely believe you learn a lot more about human beings and how they think by watching the Kornacki Cam than the pundits who cut back to him for a few minutes every hour. There is genuine pleasure to be had in seeing how the pieces all fit together, even when the picture they form is not one you want to see.
Solid Purple is free. It is not paywalled. I intend to keep it that way as long as possible. If enough people use it, that may become a champagne problem. Success might very well bankrupt me in this situation, but I would rather have that problem than try to sell you another goddamn subscription.
But if David Ellison wants to give me $200 million to say a bunch of stupid shit and run an institution into the ground: hell yeah, brother. Let’s go.
My hope is simply that Solid Purple gives you something useful to hold onto: not a promise, not permission to stop paying attention, and definitely not a resource for degenerate gambling. It is a legible account of everything I know, everything I don’t know, and how much room remains for Americans to surprise you.
Anyway.
Surprise, bitch.
