After two assassination attempts, a forced White House retirement, and a historic amount of money spent on the campaign, the nation will soon decide between a candidate who has been convicted of felonies and who still faces sentencing and a nominee who never won a single primary election. The polls are tied, and this chapter of American democracy is like nothing else in the world.

The choice was not supposed to be between Donald Trump and Kamala Harris.

The former president had pulled off perhaps the greatest comeback in modern politics when he won a third consecutive Republican Party nomination eight months ago. For some Democrats, it was literally an answer to prayer. State Sen. Dick Harpootlian, a South Carolina Democrat and Biden family friend, told RealClearPolitics two summers ago that he prayed for the return of Trump who “embodies everything we need in a Republican candidate.”

If the Almighty would just answer that prayer, Democrats could take it from there. Trump had baggage. President Biden, experience. A rematch, they felt, had to favor the incumbent. It did not. Biden lost several steps during his four years in the White House, a reality his party only accepted after a disastrous debate in prime time.

Atlanta Debate (June 27): Trump Leads 1.5+

“He delivers each and every time,” a confident California Gov. Gavin Newsom said of Joe Biden right before the president walked on stage at the CNN Atlanta studios to face Trump. A rising star and potential Democratic Party alternative, Newsom spent the summer enjoying the speculation but sidestepping rumors that he was ready to replace an aging Biden atop the ticket. “He meets these moments,” the governor told RCP. “I have not seen an exception.”

The exception came within the hour when the 81-year-old president walked on stage and immediately lost his bearing. At one point, Biden bizarrely said, “We finally beat Medicare.” During another moment, the president whom White House  aides assured the world was “as sharp as ever,” vowed to enact “a total ban” on something unspecified. Replied Trump, “I really don’t know what he said – I don’t think he knows either.” Their champion was unquestionably diminished. It was a nightmare come to life for Democrats.

And for much of the summer, it seemed like it would never end. Biden refused to go quietly into the good night, all but begging Democrats to give him another chance. The president and his people said it was just “a bad night.” They believed there was time to turn things around. But ultimately an assassination attempt, and Trump’s subsequent surge in popularity, forced his hand.

At the fairground in Butler, Pennsylvania, the symbolic martyrdom that long animated the MAGA movement finally became visceral. An iconic photo captured a bloodied Trump, surrounded by Secret Service agents, pumping his fist in defiance of the failed assassin who nearly ended his life.

After calling Trump an existential threat to democracy for years, Biden called for calm during an Oval Office address. Republicans weren’t having it. Ohio Sen. J.D. Vance blamed Democrats for incendiary rhetoric that “led directly to President Trump’s attempted assassination.” Two weeks later, Trump would pick Vance as his running mate, a sign of confidence and evidence that Trump was looking for an ideological successor in a vice president, not an electoral advantage. The two men are sympatico, and Ohio hasn’t been a swing state in over a decade. Feeling they could not lose, the GOP entered Milwaukee for its convention.

Republicans couldn’t remember the last time they had it that good. A suddenly sympathetic candidate. Good polling. Even a positive news cycle. Before the balloons came down, one former Trump White House official whispered, “I’m still shocked the other shoe hasn’t dropped.” And then, before the end of the weekend, as Republicans were still flying out of Wisconsin, everything changed.

President Biden Withdraws (July 21): Trump Leads 3.1+

The Trump campaign felt confident, not only that they had Biden on the ropes, but that he wouldn’t go anywhere. The policy and polling were awful for the incumbent and therefore excellent for them – so long as he refused to go. His hubris, they figured, would be their saving grace. Hadn’t Biden’s life ambition been the Oval Office?

“I hope and pray that they don’t take that nomination away from him,” Florida Gov. Ron DeSantis told the Iowa delegation at the Republican convention. “We want him to be the Democratic nominee. And I will be rooting for him.” Those prayers went unanswered.

The last president who had the option to run for reelection but chose not to was Lyndon Baines Johnson. LBJ delivered the stunning news in a prime-time address from the White House carried on every television network. Biden announced his exit with a statement posted on the social media website formerly known as Twitter. He had lost the confidence of his party after former President Barack Obama and House Speaker Nancy Pelosi let it be known that they also saw the obvious: The elder statesman was too old and too diminished to fend off Trump.

Biden consistently trailed Trump in the RealClearPolitics Average, never pulling ahead of the Republican a single time all year. But Kamala Harris pulled ahead within two weeks. Vibes, not policy, fueled her surge as Democrats rallied around their younger but untested standard-bearer.

Trump struggled to switch gears and define his new opponent. The nicknames tell the story. First there was ‘Laffin’ Kamala,’ then ‘Crazy Kamala,’ and finally, ‘Comrade Kamala.’ He even seemed to miss Biden at times, remarking about how “horribly” the Democrat had been treated by his own party. Weeks after the switch, Trump at times attacked him, not her. Harris, meanwhile, underwent a metamorphosis.

Once considered the most liberal member of the U.S. Senate, Harris jettisoned her more progressive policy proposals – a fracking ban, decriminalizing border crossings, mandatory gun buybacks. One by one, the Harris campaign walked back each of those proposals and more. A former prosecutor, her candidacy was defined by the rallying cry, “We are not going back.” With the blessing of Obama, Harris adopted the trademark “hope” of his historic campaign, left an inconvenient Biden to his lame duck presidency, and landed on a new message: “joy.”

Harris Officially Accepts Nomination (August 22): Harris Leads 1.5+

Yes, Harris owned all the same success and failures as Biden. White House press secretary Karine Jean-Pierre told RCP that it was best to think of the last four years as “a comprehensive whole.” But as the vice president would later remind Trump, “You are not running against Joe Biden.” This change in personnel, if not policy, was enough to deliver a jolt of adrenaline straight to the beating progressive heart. At the end of August, after just one month as a candidate, she had raised more than $361 million – almost triple Trump’s haul.

Republicans called it “the Harris honeymoon.” Democrats hoped it would go on forever. Trump, for his part, was slow to take Harris seriously.

“I think she’s gonna be better” as an opponent, the former president was caught on camera saying in July. He continued in the surreptitiously recorded video that his new opponent was “so bad. She’s so pathetic.” For proof Republicans noted that the vice president refused to meet the press. Harris wouldn’t sit down for her first interview until the end of August. She still hasn’t held a real press conference.

There was only one Republican who had ever shared a stage with the new Democratic nominee. As summer turned to fall, former Vice President Mike Pence let it be known that Harris was a “formidable” debate opponent. “My advice to my old running mate is that he should challenge her to defend her record,” Pence told RCP in September before offering specific instructions: “Answer the question as quickly as you can, but then I think he should attack.” Trump did not listen.

Trump-Harris Debate (September 10): Harris Leads 1.1+

The GOP game plan ahead of the first Trump-Harris debate was simple. Florida Rep. Matt Gaetz, one of the Republicans who helped prep the former president, told reporters before the contest that “success” would be defined by the ability to tie Harris to Biden. She would be the only incumbent on stage, and all Trump had to do was elaborate a bit on this self-evident fact.

Harris had a counter-strategy. All she had to do was rile Trump up.

She baited him on his crowd sizes and his inheritance and all his former cabinet members who would be voting for her. Again and again, he took the bait, and each time, the fact that Harris was the incumbent receded further and further from mind. Afterward, Trump took issue with the ABC News moderators who were quick to fact-check his dubious claims while letting Harris slide on hers.

When you’re complaining about the officiating, though, aren’t you losing?

“No, I thought the moderators were very unfair, but it was basically three on one, and I thought they were very unfair – the moderators – everybody did,” Trump told RCP in the spin room. “But despite that, they’re saying that the debate was a victory.”

South Carolina Sen. Lindsey Graham felt differently. The longtime Trump confidant groused that the GOP debate team ought to be fired before declaring the entire contest a “disaster.” Victory or disaster, one thing the debate was not: Determinative.

Harris Calls Trump ‘Fascist’ (October 24): Tied

Despite the wind at her back, Harris never opened a consistent lead in the polls beyond the margin of error. She promised a “New Way Forward” with menu of targeted policies, but when pressed, the vice president declined to meaningfully split with an unpopular president. During a friendly sit-down interview on ABC’s “The View,” Harris said “there is not a thing that comes to mind” that she would do differently than Biden. In the final weeks, she was reading directly from Biden’s playbook. During a CNN town hall, she said for the first time that she believed Trump “is a fascist.”

While both campaigns began the summer by warning that the other represented a threat to democracy, Republicans groused that Harris had been given a free hand to raise the temperature. The world had stood still after the first assassination attempt, then the universe returned to schedule – even after a second assassin, this one in Florida, tried to ambush the former president.

After Trump returned to Butler for a second rally, his running mate criticized what he called “an effort to memory-hole” the attacks on his running mate. Standing in front of a semi-circle of reporters backstage, J.D. Vance told RCP that “the press should ask themselves, if a similar thing had happened, God forbid, to Kamala Harris, would they be covering it in the same way?”

Elections seldom turn on the strength of vice-presidential nominees. They are one heartbeat from the presidency if their candidate wins the White House, but their addition to the ticket does little to change the overall vote totals one way or the other. They can, however, provide momentum.

Minnesota Gov. Tim Walz showed a fast hand and impressed Harris when the former teacher taught Democrats how to attack Trump and Vance, namely by calling them “weird.” Vance had a rough start by contrast. His past criticism of prominent Democrats as “childless cat ladies” led to weeks of negative press and celebrity denunciation from the likes of Jennifer Aniston and Taylor Swift. When Vance and Walz met for their debate, an ugly prize fight was expected.

Instead the two Midwesterners politely discussed their differences and even agreed on the problems facing the country, if not the solutions. Far less accessible to the media than his opponent, Walz stumbled throughout the night, however. Harris surrogates, like Texas Rep. Jasmine Crockett, explained away the governor’s jitters by saying that the debate “was a nerve-wracking thing” for the Democrat. Walz’s own self-description was even less flattering. Asked about some of his previous exaggerations, the Minnesota governor said that sometimes he was just “a knucklehead.”

In the final stretch, the candidates returned to their talking points. Said Trump at a rally at Madison Square Garden nine days before Election Day, “I'd like to begin by asking a very simple question – are you better off now than you were four years ago?”

Harris’ rebuttal came three days later in the Washington Ellipse. Trump, she said, “is the person who stood at this very spot nearly four years ago and sent an armed mob to the United States Capitol to overturn the will of the people in a free and fair election.”

Enter Joe Biden.

The Harris campaign had seized on a tasteless joke made by Tony Hinchcliffe, an insult comic invited by the Trump campaign to warm up the crowd at Madison Square Garden. The comedian called Puerto Rico “a garbage island,” ugly punchline that missed the mark and handed Democrats an opportunity to attack Republicans as xenophobic. Biden tried to pile on when he brought up the bit during a video call with Hispanic voters Tuesday but ended up saying “the only garbage I see floating out there is his supporters.”

The White House insisted that the president had misspoken, that the gaffe-prone president “was not calling Trump supporters garbage.” This was a stretch, and in any event Trump ignored the denial. He borrowed a garbage truck instead and accused Democrats of insulting half the country.

Election Day: Harris Leads 0.1+

The campaign is now all but over. On Election Day, the race is a statistical tie and, as the contest draws to a close, it remains without comparison.