Hey, it’s been awhile, hasn’t it? We’re incredibly excited to be back, and we’ve got some big news.
We’ve been working with Data for Progress for nearly two years now. They took a chance on us when no one else did, and we’re incredibly grateful for the support we’ve gotten from Data for Progress; however, we always expected it to be a temporary arrangement, and the time has come for our newsletter to find a new home. That home is Labyrinth Magazine, a relatively young project that has put out the kind of work we ourselves love to do. We’re going to keep our editorial independence, our substack, url, and all that. However, we’re going to be dropping the “For Progress” part of our name soon - it’s kind of DFP’s thing. Right now we kind of like The Primary Concern as a title, but we’re both quite bad at naming things, so we may find something else.
For this newsletter to remain viable, we will need your support more than ever; during and after our transition over to Labyrinth, reader support will be crucial to our financial viability. This means that more of our work will be paywalled; we will keep our regular coverage free for as long as we can, but some interviews, researched pieces, and other content will be paywalled.
This is a weird period for primary elections, owing to how early it is in the cycle. Everyone’s planning, and no one’s acting. That's accentuated because it’s a redistricting year. No one even knows what district they’re in yet, and they won’t for a while because the census is months behind. So we’re going to be doing special issues for a while. Here’s a rough outline of what we’re thinking for the immediate future:
Today: General election results
New week: Special elections overview: OH-11 and LA-02
Last week of January: New Jersey and Virginia state races
First week of February: New York City races
Second week of February: DAs and other criminal justice races
We also plan on peppering in some content looking back on 2020, for subscribers. This week’s available to everyone, and we’re starting off light by remembering the good times, specifically the funniest moments from last cycle. That’s at the end of this piece, after the results.
If you need a refresher on any of these races, check out our pre-election roundup.
State and Federal
CA-12
As expected, Nancy Pelosi cleaned up against Shahid Buttar, 78% - 22%, not far from the 74-13 primary showing.
CA-18
Saratoga City Councilor Rishi Kumar’s campaign lost our interest after his ties to Hindu ultra-nationalist group RSS came to light in 2019, and lost any real chance of victory after engaging in skeevy and potentially illegal activity. He finished with a 63% - 37% loss, a thoroughly mediocre showing.
CA-29
Before the election, we were hoping for good things from Angelica Dueñas, an ex-Green democratic socialist who was one of the hardest-working candidates in the state despite raising just about no money for her 2020 campaign (or her 2018 one, for that matter). We're happy to report that she did pretty damn well for herself, finishing at 43.4% to 56.6% for incumbent Tony Cárdenas. It's not a win, but it is one of the best primary performances of the year, and it does suggest both that Cárdenas is vulnerable, that and if Dueñas wants to run a third time, potentially with more financial and institutional backing, she may be in prime position to finally unseat him.
Incredibly, after clocking in a performance that weak for an incumbent, Cárdenas ran for DCCC Chair. He lost to Wall Street golden boy Sean Patrick Maloney, who nevertheless might be better than Cárdenas.
CA-53
What a disappointing race. It had become obvious by late summer that billionaire heiress Sara Jacobs’s strategy of dropping some of the loose change in her pockets (over $7 million) on her campaign was succeeding in its goal of burying progressive San Diego City Council president Georgette Gómez, especially since Jacobs didn’t even need a majority of the Democratic vote. In the end, Jabobs won 59.5% to Gomez’s 40.5%. With those numbers, Gómez probably even won the Democratic vote. But it wasn’t enough. Jacobs bought her way into Congress. Honestly, if we had to pick just one of the billionaire heirs who ran as Democrats this year to succeed, she’s better than Adam Schleifer, but the preferred number of members who bought their way to Congress is 0.
CA-SD-11
Our primary preview for this race is kind of funny in retrospect. It's more than half a page about the particular contours of housing politics in California, and then at the end we say that it probably doesn't matter anyway because races in San Francisco don't usually change much from the primary to the general. And indeed, Scott Wiener defeated Jackie Fielder 57% - 43%, an improvement on the 56% - 33% margin this race had in March, but with a similar vote share for Wiener. Fielder wasn’t able to eat into his first round showing.
The 2016 race that put Scott Wiener into the Senate was a much more narrow 51-49 victory against San Francisco City Supervisor Jane Kim. It's worth interrogating why Fielder performed worse than Kim. Wiener had an incumbency advantage this time around and Fielder lacked Kim's established base before this, but a bigger factor here was probably Wiener's successful efforts to insert himself into the housing battles, which meant that a lot of urbanist types were more worried about losing the opportunity to upzone than they were about the rest of Wiener's record. Fielder wound up not getting particularly close, but it wasn't an embarrassingly bad loss, and there will be some big races coming up in San Francisco soon where SB50 won't be the central issue at stake.
CA-SD-33
As expected, incumbent Lena Gonzalez beat progressive challenger Elizabeth Castillo, who had a skeletal campaign and qualified for the ballot via write-in, by a wide margin of 62% - 38%.
CA-AD-10
This race wound up about where it was in 2016, with incumbent Marc Levine beating activist Roni Jacobi 66% - 34%.
CA-AD-13
In a heartbreakingly close 51.4% to 48.6% margin, Carlos Villapudua narrowly beat Kathy Miller. While neither option in this race was particularly promising, Villapudua is in tight with more than a few Republicans and was clearly the GOP choice in this race. He’s not going to be the worst Democrat in the chamber, but he should hopefully be a target in 2022.
CA-AD-20
PG&E lackey Bill Quirk survived a challenge from union organizer Alexis Villalobos 59% - 41%. It’s a good showing for a first time candidate, but unfortunately not enough. Quirk still has one more election before term limits kick in, but with redistricting and a reelection bid where he fell below 60% of the vote, he probably won’t have an easy final election.
CA-AD-46
Incumbent Adrin Nazarian easily cruised to reelection over single-issue anti-AB5 candidate Lanira Murphy, 63% - 37%.
CA-AD-53
Activist Godfrey Santos Plata’s challenge to incumbent establishment type Miguel Santiago wound up being the state’s second closest of the cycle (we’ll get to the first soon). Santiago won with 56.3% to Santos Plata’s 43.7%. While this race did have its own particular contours, it’s hard to miss how it’s located within CA-34, which was also unexpectedly close this year. Central Los Angeles is just not friendly territory for incumbents it would seem.
CA-AD-54
Centrist incumbent Sydney Kamlager put this one away easily, 64% - 36%, against Bernie volunteer and teacher Tracy Bernard Jones. She is now running for the state Senate seat vacated by LA County Supervisor Holly Mitchell.
CA-AD-59
This race, more than any other, had an impressive turnaround from the primary. Reggie Jones-Sawyer, a progressive Black incumbent in a majority-Hispanic district, had been caught off-guard by cop-funded Efren Martinez’s primary challenge, and in the first round, actually lost to Martinez 51-45. Alarm bells rang, and national progressives, including Bernie Sanders, came in to help, though Martinez was trying to fool voters into thinking he was the one with that support. It was a tense situation. A challenger got a majority of the vote. Could the incumbent possibly come back? Turns out the answer is yes, Despite the best efforts from a variety of ghoulish sources, Jones-Sawyer won 57.5% - 42.5%.
CA-AD-63
Anthony Rendon, now finishing up his second term as Assembly Speaker, has had a deserved target on his back for years now. In 2018, after one term of spiking progressive legislation, he was challenged by activist Maria Estrada. While her campaign was in many ways ignored, she wound up coming close—54.3% to 45.7%. This year’s rematch brought more attention, but it didn’t bring more supporters. After some antisemitic comments, and her unsatisfactory explanation of them, most progressive groups in the area, like Knock LA, tried to pretend this race didn’t exist. Still, Estrada did better this year, 53.7% - 46.3%.
CA-AD-64
We knew this one was a long shot after Gipson finished ahead 67.5% - 32.5% in the primary, so Fatima Iqbal-Zubair making it a 59.5% - 40.5% general result was nice to see, even if it was a loss in the end. We don’t think we’ve seen the last of her.
CA-AD-78
Decent enough San Diego Councilor Chris Ward won this one against 56.2% - 43.8% against decidedly very cool midwife and Bernie volunteer Sarah Davis.
DC Council At-Large
The number 2 spot in this multiway pileup wound up going to Christina Henderson, a former staffer to outgoing moderate incumbent David Grosso. DSA-backed Ed Lazere got a close 4th. (The number 1 spot went to popular incumbent Robert White. Two at-large seats were up this cycle.)
DC Council Ward 2
Democratic primary winner Brooke Pinto put this one away pretty easily against two underfunded independent challengers, with 68% of the vote.
NY-AD-57
Walter Mosley isn’t the first primary loser to grab a third party ballot line and try again in the general. About half of the IDC losers in 2018 tried it, universally to pathetic failure. And Walter Mosley fits right into that tradition, going down 76% - 24% to Democratic primary winner and DSA-backed socialist nurse Phara Souffrant-Forrest.
RI-HD-13
Tiana Ochoa’s write-in campaign against sex pest and technically-not-a-Republican Ramon Perez just didn’t get much traction, and he wound up winning 81% - 19%.
WA-Lt. Gov.
Centrist Rep. Denny Heck got this one 46% - 34%, with the rest going to a GOP write-in. We were hoping for state senator Marko Liias here, but that was mostly because the possibility of a Jay Inslee cabinet appointment loomed. That possibility seems to have been foreclosed on, so Heck might just take up space for a term then go away forever.
WA-SD-05
58 votes. Incumbent Democrat Mark Mullet won by 58 votes, out of nearly 100,000 against nurse and Sanders-endorsee Ingrid Anderson. The race moved to an automatic hand recount, the first that King County has seen at least in 16 years, after the initial tally showed Mullet up just 57 votes; he gained a single vote in the recount. Recounts just don’t usually change that many votes, so this isn’t unusual—it’s just heartbreaking. For a taste of why, here’s Mullet on his win:
“Yeah, it’s close. But I think, to be honest, the big difference between the primary and the general is in the general, I think more Republicans realized that if they don’t fill in a bubble in the race, the extreme left wins… And I think Republicans have to realize that they have actually a lot of control in those battles. They have to fill in a bubble. If they don’t fill in a bubble, they are ceding their control to the far left.”
WA-HD-11-Position 1
Luckily, not every incumbent survived. After a disastrous first round, Zack Hudgins got absolutely blown out by Washington State Human Rights Commissioner David Hackney, 62% - 36%, an even better result for Hackney than the primary.
WA-HD-32-Position 1
As expected, incumbent Cindy Ryu won, by 45%.
WA-HD-36-Position 2
Liz Berry, the quite clearly more progressive choice, defeated moderate Sarah Reyneveld 58% - 41%, an improvement on the primary results.
WA-HD-37-Position 2
As expected, former Seattle City Councilor Kirsten Harris-Talley put this one away easily, 66% - 33%.
WA-HD-43-Position 2
It’s hard to know how to feel here. The upshot is that Frank Chopp won. He beat Sherae Lascelles 66% - 33%. Now, on one hand, that’s a pretty wide margin, a full 2:1 victory. Seems discouraging. On the other, Chopp is a former Speaker of the House, absolutely flush with campaign cash, and, importantly, was the only Democrat in the race. Lascelles ran a grassroots, third-party campaign during a pandemic, and still got a third of the vote. Chopp, interestingly, is not a stranger to facing a third-party left-wing opponent. In 2012, he went up against someone on the Socialist Alternative ballot line and won by even more, 71% - 29%. That opponent was firebrand now-City Councilor Kshama Sawant.
Local elections
In Baltimore, progressive Democratic mayoral nominee Brandon Scott was able to easily brush past business funded independent candidate Bob Wallace 71% - 20%. Much closer was Council district 12, where incumbent Democratic Councilor Robert Stokes faced surprisingly strong Green Party candidate Franca Muller Paz. Stokes won 60% - 36%, which is quite impressive on Muller Paz’s part. As we saw in WA-HD-43-Position 2, running as a third party candidate is very hard, even harder than running as an independent. Muller Paz won more than enough votes to have won the Democratic primary for this district.
El Paso’s mayoral race went to a runoff. Unfortunately, it was between Republican Dee Margo and his moderate Democratic predecessor Oscar Leeser. Bernie-endorsed progressive candidate Vero Carbajal narrowly missed the top 2, with 22% of the vote to Margo’s 25%. Leeser ended up absolutely demolishing Margo, 79.5% to 20.5% —simultaneously an embarrassing loss for an incumbent mayor, and an unsurprising one for a Republican in El Paso. After all, Margo only made it to office in 2017 because he and another Republican advanced to the runoff—and even this was only possible because El Paso’s elections are officially nonpartisan. This time, it looks like voters were not misled by Margo’s nonpartisan ballot designation, and reacted to him as El Paso normally reacts to Republicans (which is to say, not kindly.)
In Honolulu, results were mixed. The mayoralty went to the more moderate of the two candidates, Rick Blangiardi, who won 60% - 40%, but in the Prosecutor race, extremely punitive candidate Megan Kau lost 56% - 42% to Steve Alm, who at least gestures in the direction of reform.
Los Angeles was a huge success. In the City Council, Nithya Raman pulled off what no one has in 17 years: defeating an incumbent member, finishing 53% - 47% ahead of David Ryu. Raman’s victory signals the left’s triumphant return in Los Angeles. While socialists have had a presence in San Francisco and the larger Bay Area for decades, Los Angeles has been stubbornly resistant since the days of Job Harriman. At the County Council (ahem, uh, Board of Supervisors) level, State Sen. Holly Mitchell beat Herb Wesson for an open seat by an unexpectedly wide 61% - 39% margin. Mitchell, a progressive state senator endorsed by Bernie Sanders, was locked in a bitter, negative runoff with Herb Wesson, a 15 veteran of the City Council and prior Assembly Speaker. Wesson placed just ahead of Mitchell in March, 30% - 29%, but his embrace of cop unions and prior willingness to write legislation on their behalf became a major issue during the campaign, and he couldn’t survive 6 months of criminal justice staying in the news.
Finally, in Los Angeles County’s DA race, the nation’s largest municipal law enforcement jurisdiction, George Gascón beat incumbent Jackie Lacey, 53.5-46.5. It’s hard to overstate how big this election is. As he was being sworn in, Gascon announced sweeping reforms, including ending cash bail, the death penalty, gang sentencing, trying youths as adults, and many others. This win was the result of years of hard work by activists to create coalitions that would demand criminal justice solutions. It was also the result of a coming together of a variety of left-wing and progressive groups, who also joined forces to support Raman and Mitchell. Any of these races would be impressive on their own, but together they are the announcement of a new coalition in Los Angeles, one that’s going to be demanding systemic and far-reaching change from politicians.
Portland broke our hearts. Ted Wheeler was boosted by millions in business spending towards the end, as well as an illegal $100,000 self-contribution, and it wasn’t enough to get him a majority of the vote. But thanks to a write-in campaign that split the left vote, his 46% of the vote was enough. Sarah Iannarone finished at 40% of the vote. Tear Gas Ted will have another term as mayor. Furthermore, Mingus Mapps won his runoff for City Council position 4 by a 56% to 44% margin.
Richmond wound up demonstrating the ridiculousness of its electoral system. Mayor Levar Stoney got only 38% of the vote for re-election in a totally open nonpartisan primary...which means he was reelected. Because his opposition was so fragmented, Stoney won a plurality in 5 wards of the city, which is a majority of wards, and thus enough to win. Sure, why not have a system like that?
San Diego also went quite well. Assemblymember Todd Gloria won 56% - 44% over business-backed City Councilor Barbara Bry. This is a big moment for San Diego, which has long had a Democratic, and perhaps even progressive Council majority, but where the only Democrat elected mayor in the last 30 years left office almost immediately after due to sexual harassment allegations.
A couple assorted prosecutor elections went well. In New Orleans, reform groups had almost a clean sweep against the outgoing punitive DA’s allies, including in the DA race itself: Jason Williams, a city councilman and former defense attorney won on a a great, activist-aligned platform 58% - 42%, after being sent into a runoff with Keva Landrum, an assistant prosecutor under the aforementioned retiring DA, even though Landrum won the first round 35% - 29%. In the race to be the District Attorney of Georgia’s Western Judicial District, which covers heavily Democratic Athens and heavily Republican (but smaller) Oconee County, former state rep and reformist Deborah Gonzalez was just barely forced into a runoff with the independent (and sleeper Republican) candidate, while the more moderate Democrat was left in the dust. Gonzales then won the runoff 52-48.
Fun Corner (we will get a better name for this)
#8: Dewey Defeats Cori Bush

Image from
Chaz Nuttycombe
After absentee ballots were counted in Missouri’s 1st Congressional District, the margin between Lacy Clay and Cori Bush was daunting. So daunting, in fact, that Decision Desk HQ--an AP competitor that tends to be more aggressive than the AP with race calls (at least partly because they often get vote totals faster, to their credit)--called it for Clay, assuming that there simply wouldn’t be enough Election Day votes to overcome Clay’s absentee advantage. Unfortunately for them, and fortunately for Bush, Missouri’s strict limits on absentee balloting meant that the high turnout resulting from Bush’s field program and the late surge of spending in the race was concentrated on Election Day...leading to a bunch of overconfident centrist takes about the demise of the left aging poorly at record speed. Now, of course, Cori Bush is the first Black woman to represent Missouri in Congress, but remembering the premature call for Clay is still good for a chuckle.
#7: Mike Blake refuses to take his hand out of the cookie jar
NY-15 was an incredibly cursed primary for many, many reasons, but one of the lighter aspects was Asm. Mike Blake’s campaign. Blake, a vice chair of the DNC, was a fairly strong candidate, and as the only Black and non-Latino candidate could have theoretically tried to consolidate the non-Latino vote for a plurality in this heavily Latino district, which nonetheless has a substantial non-Latino Black minority. Instead he just spent the campaign getting caught doing incredibly petty small-ball corruption, again and again and again.
Failing to report a conflict of interest in his lobbying work. Working for a debt collection firm so notorious for predatory practices it became the subject of a congressional investigation...while owing thousands in back taxes himself. Spending an awful lot of time out of state (while taking per diem payments intended to cover the costs of the legislative session in Albany.) Improperly using an affordable housing unit he didn’t qualify for in the first place. The guy managed to fit in a massive amount of petty graft, without slowing down even in the spotlight of a Public Advocate campaign and then a congressional campaign. No Kelly Loeffler-style insider trading for him—he stuck to the corruption equivalent of swiping someone else’s loose change.
#6: Dan Lipinski cancels Nike for hating America
You may have forgotten the conservatives meltdown over an ad featuring Colin Kaepernick, which we’re told occurred in the lost millennium of 2019. But it was extremely funny, with a lot of conservatives ritually torching their Nikes to own the libs. And then there was something about a Betsy Ross shoe? This happened so long ago, and it doesn’t matter - it’s just a bunch of Fox noise. Except, joining in the outrage was...Democratic Rep. Dan Lipinski, who emphasized his point by apparently pointing his phone down at his feet as he sat in his office, showing off some ugly-ass New Balances?
How did a man with his finger on the pulse of the Democratic base like this lose?
#5: Henry Cuellar thinks small donations are cheating
This cycle’s stupid moments started off with a bang, when the Cuellar campaign, facing their first grassroots challenger ever, was apparently confused by small donor contributions, “argu[ing] that Cisneros' campaign is operating on ‘dark money’ since 80% of her contributions are undisclosed. Contributions may be unitemized if they amount to less than $200 per donor per campaign cycle.” That’s an impressively bullshit claim, something that not even Republicans have the guts to try, and they think ActBlue is a shadowy PAC in Massachusetts. What’s more, it turned into an even stupider Twitter fight after that where campaign manager Colin Strother would not stop doubling down. Now normally we are pretty cynical about these things, and we’d say that they knew it was a lie and just hoped the media was credulous enough to spread it, but, no, they cited sources later. They really, truly believed that they’d found a way to define small donors as dark money.
#4: Scary Nerds
You can bet this one got brought up every time an incumbent went down this year. F in the chat for Senior Democratic Source.
#3: Joshua4Congress posts himself into infamy
At first Joshua Collins was pretty easy to ignore, a Twitter and TikTok personality running against an incumbent with way more money. But when that incumbent retired, Collins raked in the cash (nearly $250K worth), got some media attention, secured a few local lefty endorsements, and opened up a district office, there was some real potential there, a chance to turn virality into real momentum as a candidate, to distinguish himself as a youth candidate in a state fairly amenable to something like that. Instead what followed was a truly spectacular implosion including mismanaged funds, a lack of actual campaigning, defenses of his refusal to just post less (except for when he shut down his account without warning for a week), and a general sense of total chaos. That was all more sad than funny. No, the funny part was when he called Bernie a sellout, left the Democratic Party, formed his own Essential Workers Party (because people want to support essential workers (no actually, that was his reasoning)), and finished in 14th place with 1.18% of the vote.
#2: Joe Kennedy threatens to cry at Ed Markey
What makes this one so funny is that The Kennedys are royalty, or as close as this country gets to it. Joe was expecting to descend from the political heavens into a race against an old, incumbent progressive senator, give a bunch of inspiring speeches (because that’s what the Kennedys do), and float to victory. Instead, he found out that some people were tired of politicians running on their family name, and worse yet, some of them had Twitter accounts. When he found out, he knew what he had to do: cry about it.
His team collected the worst tweets they could find and emailed them to the press. Technically it was emailed to Markey, in a very sincere letter about civility, with the press merely CCed for “accountability”. It was literally just tweets random people from across the country had sent saying “fuck off Joe Kennedy”, or in the absolute worst case, a TikTok of a guy shredding some mailers he found. The latest scion of America’s crustiest royal family had found out that someone, somewhere, had made jokes about historical events that he wasn’t even alive for, and he was livid, or at least angry enough to email reporters telling them Markey was being “toxic”.
#1: Eliot Engel has a passion for graphic design
Of course this is number one. You remember the day you saw these, and then realized they were actually from the official campaign. The multi-million dollar campaign for a sitting Congressman did THIS. But did you really take it all in? The terrible crop jobs? The use of four fonts, three text sizes, and four colors in six words? Why are some words capitalized, but some not? Why is “endorses” italicized? Beyond any details, how can a professional campaign make something that looks that bad? Neither of us can get over this. It’s amazing, and it goes to show that no matter how well funded, or distinguished any of these eternal incumbents might be, there is still nothing stopping them from failing in the most magnificent ways.
See you next week. Feels good to say that again.
With abortion now outlawed in many states, abortion funds’ work is more important than ever. https://geometrydashscratch.io/
wow, great post. it gave me a lot of useful information. I look forward to your next posts. https://wordle-2.com https://iogamesio.onl