WASHINGTON — It might have ended in a washout for Jason Kessler’s group, but for the thousands of protesters who spent hours in the streets opposed to white nationalism, it was anything but.

From dawn to dusk, a broad collective of left-wing groups — most recognizably Black Lives Matter, the ANSWER Coalition, and the Democratic Socialists of America — spearheaded a community-led effort to confront the Unite the Right revival. Arguably, months of organizing ultimately paid off: for every one of Kessler’s compatriots, it seemed there were one hundred protesters parading and singing through the streets just a block away.

Hours before Kessler and his group set off for the White House, crowds gradually grew at Freedom Plaza and the northern half of Lafayette Square. Led by the Shut It Down DC collective and the ANSWER Coalition, respectively, these two rallies formed the foundation for what would later swell into a single zone of protest from the edges of Foggy Bottom to 15th Street.

The Freedom Plaza event, titled “DC United Against Hate,” featured speakers personally threatened by acts of racism and white supremacy — including protesters attacked by attendees of the original Unite the Right in Charlottesville last year. “This kind of violence follows you,” said one protester who had been assaulted in a Charlottesville parking garage. “In reality, it’s woven into the fabric of our history.” That incident resulted in a conviction earlier this year.

A ten minute walk away at Lafayette Square, hundreds of protesters actively watched over the barricaded southern half of the park for the impending arrival of the new Unite the Right. Chalk messages on the H Street sidewalk held the full names and phone numbers of people their authors outed as white supremacists. As the day passed, over a thousand people packed up to the edge of the mazelike security perimeter, sometimes stepping into off-limits gardens for more breathing room. As Kessler’s rally arrived, the chant of choice was short and decisive: “Go home, Nazi scum.”

With an hour to go, the local Black Lives Matter chapter gathered hundreds on their own for a march beginning just north of Lafayette Square. Out of the dozens of groups organizing Sunday’s counterprotests, Black Lives Matter DC proved one of the most vocal. On news of a white supremacist rally in their city, local organizers canvassed neighborhoods in southeast and northeast Washington — public housing, grocery stores, barber shops — and quickly spread out to hold the line along the northern perimeter of Lafayette Square.

Antifa and other black bloc protesters said they were mainly present to defend local organizers from white supremacist aggression. “They’re here in our defense,” one Black Lives Matter organizer announced by megaphone, as clusters of black bloc linked arms on intersections and stuck close to the group for the duration of Kessler’s rally.

Dressed in black from head to toe so as to conceal their identity, they began to show up in larger numbers once Kessler had arrived at his rally point.  Despite the midsummer heat, many black bloc protesters wore masks, motorcycle helmets and dense body armor. Others carried black umbrellas, which they often used to block the media from photographing them.

Though were no incidents of violence for the duration of Kessler’s rally, tensions briefly rose when a group of anti-fascist protesters attempted to prevent Kessler’s group from leaving by launching fireworks and throwing eggs over a line of U.S. Park Police and Secret Service at 17th and G Streets. In a flare-up of tension, police charged into a makeshift barrier made of shopping carts and cardboard, running into protesters and media.

There were no injuries or arrests, and much of the crowd dispersed soon after learning that Kessler’s rally had been escorted out of the park in a police van.