Election Night at Scale: How The Washington Post Rebuilt Its Publishing Platform

Few engineering teams face a harder deadline than The Washington Post's Election Engineering group. Between the end of primary season and the 2022 US midterm elections, the team had a narrow window to overhaul the infrastructure behind its election results pages. The migration target: Next.js and Vercel.

The stakes were absolute. "There's no pushing a release by a couple days or weeks," says Tyler Fisher, Principal Software Engineer on the team. "It's an immovable deadline." Election Day, November 8, demands a platform that can ingest a torrent of federal, state, and local election data while serving traffic that spikes unpredictably. The team also has to keep pace with a newsroom whose reporting priorities shift by the hour.

Why the Old Stack Had to Go

Previously, The Post's rendering layer ran on AWS via an ECS cluster. To keep data fresh under such a heavy load, engineers hand-rolled a complex revalidation pipeline using SQS and EC2. It worked, but it came at a cost.

"It was complex and there were onboarding hurdles for new developers and fine tune performance. And it was expensive. Vercel took a lot of that load off of us," Fisher says. The system also created drag on collaboration, making it harder for editors and reporters to review work in progress when every minute counted.

With the midterms approaching, the team set four goals for the rebuild:

  1. Migrate to Next.js 12 to fully leverage Incremental Static Regeneration (ISR)
  2. Host separate development and production environments to streamline stakeholder reviews and reduce infrastructure management overhead
  3. Rewrite the frontend in TypeScript to catch errors earlier
  4. Improve both test coverage and documentation

Iterating at Newsroom Speed

For an organization where political editors, reporters, and graphics teams all need eyes on a page before it goes live, review speed matters as much as raw performance. Vercel's collaboration tooling lets the team fold those stakeholders directly into the workflow.

"We have to review, test, and deploy rapidly, because every second matters," says Fisher. "We love the ability to integrate our stakeholders into the process."

The Architecture for Spiky Traffic

The platform's requirements are unusual in that they demand the best of both static and dynamic worlds. Pages must scale instantly like static sites, but they must also react to streaming data from thousands of races without a full rebuild.

"To keep up with both our incredibly spiky traffic and the sheer amount of data streaming in, we need a solution that has the primary benefit of static sites—easy and instant scalability—with the benefit of dynamic sites—responsive to quickly changing data—without rebuilding the entire project," Fisher notes.

The payoff came on election night itself, when the team presented more than 1,000 races spread across 52 distinct results pages, all hosted on Vercel.

A Last-Second Rewrite That Held

The smoothest moment may have been a feature that almost wasn't. The highest-traffic page, covering the US House of Representatives, aggregates roughly 400 races on a single view. The team had been pushing live updates to that page via websockets, but the approach was lagging badly under the load.

"I rewrote the solution at the last second," Fisher says. "It held up and worked really well."

The result, according to Anthony Pesce, Engineering Manager of the Election Engineering team, was a historic performance. "It was the smoothest election night anyone could remember."