Tiffany Cabán speaks to a crowd of volunteers in Astoria
Chapter 03

Fifty-Five Votes

Show Notes

What does it mean to lose an election by 55 votes? Tiffany Cabán lost a District Attorney race in 2019 — and in that loss, helped build a movement that would transform New York City.

Read Transcript →
Listen to This Episode

It’s November 6th, 2018, and Shawna Morlock is dancing at LaBoom nightclub in Queens. Alexandria Ocasio-Cortez has just won her general election. After spending three nights a week for six months knocking on thousands of doors, Shawna is exhausted — and thinking about her bed. Then someone tells her there’s another race. Another fight. Another impossible campaign to win.

A few weeks earlier, a 31-year-old public defender named Tiffany Cabán had received five text messages in rapid succession from a friend: “Dude. Run for DA in Queens. Let’s make it happen. You’ve got the vacation days. Let’s go.” She thought her friend was joking. A week later, they were filling out a DSA candidate questionnaire in Tribeca. They were going to give it a try.


The race to replace Queens District Attorney Richard Brown would test whether the model that had elected AOC in Astoria could work all across a borough of 2.3 million people, with 140 languages spoken. And it would be decided by just fifty-five votes.

Luke Hayes joined the Cabán campaign in early April, when the campaign had just a few hundred dollars in the bank, and a staff he could barely pay. In the final weeks, a surprise endorsement from AOC would open the floodgates — $200,000, mostly in small donations, and a thousand volunteers knocking 120,000 doors in four days. On election night, Cabán declared victory. Then the absentee ballots came in. More than a month later, after a brutal hand recount — fought ballot by ballot by the same lawyers who’d defended the Queens machine for decades — Melinda Katz was certified the winner by a razor-thin margin.

This episode is the story of that loss. Of those votes. Of how they got so close. And what you learn from losing when you do everything right.

“If someone had put a pen mark on the side, or if there was a penny in the envelope that the ballot came in, or a paper clip or something like that, this person’s choice got thrown away.”

— Shawna Morlock
Shawna Morlock
Canvasser, Organizer & DSA Activist
Came off the AOC campaign and immediately threw herself into the Cabán race — knocking the same number of shifts, three nights a week. Volunteered as a recount observer and watched the margin disappear, ballot by ballot.
Luke Hayes
Campaign Manager, Cabán for Queens
Joined in April with almost no money in the bank. While the crowd celebrated at LaBoom on election night, he was backstage calling lawyers. One of the most seasoned field operatives in this story — and the one least surprised when the absentee ballots broke the wrong way.

The 2019 Queens DA Race

Tiffany Cabán, a 31-year-old public defender, ran against career politician Melinda Katz for the Queens District Attorney seat being vacated by 86-year-old Richard Brown. Cabán ran on a platform of transformative justice — decriminalizing substance use disorders, declining to prosecute recreational drug use and sex work. Katz had the backing of the entire Queens machine: Gregory Meeks, Andrew Cuomo, 32BJ, and 1199 SEIU. Cabán had the DSA, AOC’s late endorsement, and a thousand volunteers. On election night, Cabán led by 1,100. After absentee ballots were counted and a month-long hand recount, Katz was certified the winner by 55 votes out of 90,000 cast.

The Recount

The manual recount ran 10 a.m. to 7 p.m., Monday through Friday, and 10 a.m. to 4 p.m. on Saturdays, for more than a month. For weeks, Shawna was there. Katz was represented by Sweeney, Reich and Bowles — the same Queens machine lawyers featured in Episode 01 — who contested ballots on technical grounds throughout. Cabán’s lawyers argued that 114 ballots were improperly disqualified. The judge sided with Katz on all of them.

What the Loss Produced

In 2020, newly installed Queens D.A. Melinda Katz adopted nearly every reform Cabán had campaigned on — ending cash bail requests for most misdemeanors and creating a conviction review unit. The platform that seemed too radical in 2019 became official policy within a year. Cabán herself ran for Astoria’s City Council seat in 2021 and won easily, becoming one of the most progressive members of city hall. The Cabán campaign also served as a training ground: Zohran Mamdani ran field operations across southeast Queens during the race. He would apply what he learned two years later, in his own Assembly run.

Ranked Choice Voting

New York City adopted ranked choice voting for primaries in 2021, after the Cabán race. Had ranked choice been in place in 2019, the outcome might have been different — a point that wasn’t lost on the organizers who lived through that recount.

Next Episode
Chapter 04: Four Hundred Pounds

This is the story of Zohran Mamdani’s 2020 State Assembly run — and a global pandemic. But it’s really about the way that people come together when everything around them is falling apart. And about a food pantry that started out of a friend’s car.

Show Notes →

Written, narrated, and produced by Tim Donovan.

Music by Pyrosion, used under Creative Commons license. Full licensing details available at peoplesrepublicpod.com.

Special thanks to Alice, Daisy Larom, and Sarah Noe. Thanks to Shawna Morlock, Luke Hayes, and all the guests who shared their stories.