On the ballot:
LaTrisha Vetaw (DFL-endorsed, incumbent)
Leslie Davis (“Tell The Truth” — which I put in scare-quotes for a reason)
Marvina Haynes (DFL)
Leslie Davis is an anti-vax anti-mask COVID-denying weirdo. For his “political party or principle” he put “Tell the Truth” which is ironic given that he’s repeating a lot of absolute bullshit. Don’t vote for him.
I got asked a while back if I regret any of my endorsements and LaTrisha probably tops the list — when she ran for Park Board At Large in 2017 as a Green who had served as Board Chair for Our Streets, I thought she sounded pretty cool. She’s turned into one of the most conservative City Council reps in Minneapolis. Like Michael Rainville in Ward 3, she not only voted to uphold Mayor Frey’s veto of the Labor Standards Board, she voted against creating it in the first place. She both voted to uphold Mayor Frey’s veto of the Affordable Housing right of first refusal ordinance and voted against it in the first place. She voted to uphold Mayor Frey’s veto of a minimum wage for rideshare drivers and also voted against it in the first place.
She’s also, in my opinion, kind of an asshole. There was a Public Health & Safety Committee meeting in January of 2024 where she fully melted down. The whole altercation starts here, if you want the full context. At the point I linked to (2 hours 14 minutes into the meeting), LaTrisha starts speaking and spends five minutes making a speech (important note: she’s not actually on this committee.) At 2:19 Jason Chavez breaks in to ask if she has a question for the city staff, and to ask her not to assign motives to other City Council members, and this sets her off, she yells at Jason, insults him, and shouts him down repeatedly. You can also read Daniel Suitor’s transcript of this, but I recommend watching the video.
The official City of Minneapolis video stops when the meeting is adjourned. Post-meeting, LaTrisha got into an argument with an activist (Nicole Mason, who at one point LaTrisha actually put her hands on.) She yelled at the meeting at large that she didn’t want any of the white people there to talk to her, yelled some more at the activist, and when that activist left the room, she walked around the room picking out other activists to yell at individually. You can see the video of all that here, or if Instagram links don’t work for you some of it’s here. I would strongly encourage people to watch the video because there’s a visceral difference between reading “she went and yelled at people” and watching her roaming around the room picking out activists to berate.
Also, the context of her speech and meltdown was that she was trying to disrupt questioning of Toddrick Barnette and Margaret Anderson Kelliher by Council Members after they admitted that the city gave zero notice before clearing an encampment, and then lied about shelter availability to the press after. When LaTrisha is in the midst of her “you poor beleaguered city staff, working so hard with so little appreciation” bit, you should know that she was speaking to two high ranking, well paid, mayorally appointed people who had disregarded city policies.
Also, I spent some time looking through Josh Martin’s Divided Vote Tracker, a spreadsheet that tells you how each Council Member voted on the non-unanimous votes taken, with links to the thing that was passed and to the video record of the debate in the City Council meeting. Among the things LaTrisha voted against was an interim use permit for a recuperative care facility for homeless people recovering from illnesses or medical procedures. (I watched the debate on that and she didn’t speak against it — Linnea Palmisano did — just voted against it at the end.)
At a different City Council meeting, she used the phrase “say their names” while making an emotional speech about a group of police horses when funding for the mounted patrol was cut. (Link is, again, to the whole speech about the horses.) (There are arguments in favor of mounted cops but St. Paul got rid of theirs in 2019 and most cities have concluded it’s not actually worth the money and hassle of keeping horses in 2025.) And of course there was her whole “I’m going to be your Council Rep” schtick to a bunch of landlords back in 2021.
Marvina Haynes is running a significantly more serious campaign this time than she did in 2023. She has endorsements and she’s door-knocking with Omar Fateh. She runs a nonprofit working to exonerate the falsely convicted, and succeeded in having her brother Marvin freed in late 2023. (Marvin spent almost 20 years in prison for a crime he absolutely did not commit.) Also, and importantly, she isn’t LaTrisha Vetaw OR an anti-vax crank.
I would vote for Marvina Haynes if I lived in Ward 4.
I have a new book coming out next June! This one is not YA; it’s a near-future thriller about an obstetrician who gets kidnapped by a cult because they want someone on site to deliver babies. You can pre-order it right now if you want.
I do not have a Patreon or Ko-Fi but instead encourage people who want to reward all my hard work to donate to fundraisers. This year I’m fundraising for YouthLink. YouthLink is a Minneapolis nonprofit that helps youth (ages 16-24) who are homeless or at risk of homelessness. (Here’s their website.) I have seen some of the work they do and been really impressed. (An early donor to the fundraiser added a comment: “YouthLink was incredible instrumental in my assistance of a friend to escape a bad family situation in Florida with little more than a computer and a state ID. Thanks to YouthLink and their knowledge of resources my friend was able to get a mailing address (which was essential in getting a debit card and formal identification documents), healthcare, hot meals, an internship at a local company, and even furniture for their new apartment.” — That is exactly the sort of thing I’m talking about!)
I set up a fundraiser with a specific goal mainly because seeing the money raised helps motivate me. (Having external motivation helps! This is a lot of work.)