The first leader I ever wanted to be was bald, British and fictional.
Jean-Luc Picard.
I was a kid on a carpet in Illinois, blanket in my fists, and he made me believe I could lead something someday.
Five days before election night, Patrick Stewart died at 86. He was my Captain.
Picard's gift wasn't being in charge. It was getting everyone on his bridge ready to be. He listened. He asked his officers what they thought, and he meant it. He trusted the people others overlooked. And when the talking was done, he made a decision and owned it.
Stewart didn't only play that. As a boy he watched his father abuse his mother, and he spent the rest of his life working against it: as a patron of Refuge, the domestic violence charity, since 2007, for his mother, and with Combat Stress, the veterans' mental health charity, for his father, who came home from the war with shell shock, what we would now call PTSD. About his mother, he said:
I couldn't help her then. Now I can.
Not in a year when it trended. Not for a news cycle. For nearly twenty years.
That is the whole lesson, and it is the only one this post has.
I've been thinking about it this week, because on Tuesday a lot of new people were handed the conn.
A wave of firsts
The 2026 midterms put people into high office who had, until now, mostly been kept at the edges. Across both parties, voters elected:
- Deb Haaland in New Mexico, the first Native American woman elected governor of any U.S. state.
- Keisha Lance Bottoms in Georgia, the first Black woman elected governor of any state.
- Chris Pappas of New Hampshire, the first out gay man elected to the U.S. Senate.
- Julia Letlow of Louisiana, the state's first Republican woman elected to the Senate.
- Gina Hinojosa, Texas's first Latina governor.
- Peggy Flanagan of Minnesota, the first Native American woman elected to the U.S. Senate.
- Abdul El-Sayed of Michigan, the first Muslim elected to the U.S. Senate.
- Melat Kiros of Colorado, the first Gen Z woman elected to Congress, at 29.
The records are not only about who ran. At least 159 women will serve in the 120th Congress, a new high, past the record of 152 set in 2024, and at least 136 in the House, 31.3% of it. Black women and Latinas both set new records for congressional representation. At least 17 women will be governors, 34% of the country's governorships, past the old record of 14. Georgia, Minnesota, Ohio and Tennessee elected a woman governor for the first time. (A few races were still too close to call when I wrote this, so some of those counts may still move.)
Young people turned out too. CIRCLE at Tufts estimates 27% of young people voted, the second-highest midterm youth turnout in thirty years, and about 30% in battleground states. It's an early estimate; CIRCLE will update it in spring 2027 once voter files are in.
That said, the trends do not all run one way. Women's representation in the Senate goes down next year, from 27 to at least 23. And fourteen states have still never had a woman governor at all.
While those are the numbers, what it felt like to me was a song.
I grew up dancing to "Bidi Bidi Bom Bom" after watching the Selena movie with my cousin Amy and my sister Erin, who — I will die on this hill — reminds me of and is my Selena. We watched it for the first time at my abuela's house.
On Tuesday night, they played "Como la Flor" at Gina Hinojosa's victory party.
I saw three people at once. The kid on the carpet. Me now. And whoever is small right now and is going to grow up with a Latina governor of Texas as the ordinary picture of what a governor looks like.
This post isn't about who won. It's about what comes next, and about who is walking into rooms they — or the people they represent — may never have been in before.
Go ahead and dance. I did. The firsts are real, they took decades, and anyone who tells you not to celebrate them has never waited for one.
And one of them is my aunt
Mary Mesa was elected to the Lake County Board in District 17, by about five points. She is one of the most inspiring leaders I know, and she just won a seat most people in her area probably couldn't name.
Nineteen people sit on that board. They approve the county budget and every financial matter that reaches county government, in a county that contains 219 separate taxing bodies — municipalities, townships, school districts, park districts, libraries, fire districts. Courts and public safety run on what those nineteen vote for.
I can't name all of my own local representatives. But I can tell you who makes me want to be more involved. My Aunt Mary saw something and decided to do something about it.
That is the room this whole post is about.
The question history will actually ask
Here's the part nobody puts on a victory banner: election day is one day. Representation is every day after it.
Someday someone will write the history of the 2026 midterms. The only open question is whether the last chapter is about the people who got elected — or the people who kept showing up.
Because waves don't fail at the ballot box. They fail in the months after, when everyone who turned out once decides the work is done.
I learned that the slow way, in open source. I ran for the Python Software Foundation's Board of Directors and got a seat right away, which was luck. The part that wasn't luck took years: reading bylaws, reviewing grants, hunting for funding, sending email across every time zone to volunteers who were all doing it after their day jobs, and thanking the community for feedback I did not always enjoy hearing — then trying to be better. Then rotating out so someone new could rotate in. Getting elected was the easy part.
PyLadies Chicago taught me the same lesson on a smaller scale. Saying "welcome" never kept a new organizer. What kept them was the rest of us showing up, month after month, until the room felt like theirs.
Scale that up and the clock only gets longer. In 2008, after she lost the nomination, Hillary Clinton said the highest, hardest glass ceiling had about 18 million cracks in it. It took eighteen more years for a Black woman to be elected governor of any state.
A first is not a finish. People hold a seat because the people who put them there stay in the room.
Closer to home: 108 days
Chicago's next municipal election is February 23, 2027. As I write this, on November 7, that is 108 days away.
On that ballot: mayor, city clerk, city treasurer, all fifty alderpersons, and the Police District Councils in each of the city's 22 police districts. If nobody clears a majority, a runoff follows on April 6.
Now the arithmetic. In November 2024, Chicago turnout was 67.94%. In the February 2023 municipal election — the one that picked every alderperson in the city — it was 35.85%.
The people who decide whether your street gets plowed, where a zoning variance lands, and what your ward does with its menu money are chosen by barely half the crowd that shows up to pick a president.
The same numbers as a table
| Year | Presidential general | Year | Chicago municipal |
|---|---|---|---|
| 1984 | 78.23% | 1983 | 82.07% |
| 1988 | 71.58% | 1987 | 74.08% |
| 1992 | 74.57% | 1991 | 45.06% |
| 1996 | 63.17% | 1995 | 42.25% |
| 2000 | 70.22% | 1999 | 41.92% |
| 2004 | 75.13% | 2003 | 33.71% |
| 2008 | 73.87% | 2007 | 33.08% |
| 2012 | 75.41% | 2011 | 42.30% |
| 2016 | 71.04% | 2015 | 34.03% |
| 2020 | 73.28% | 2019 | 35.45% |
| 2024 | 67.94% | 2023 | 35.85% |
Chicago is not a city that cannot be bothered. In April 1983 a municipal election here drew 82.07% — higher than any presidential general in this chart. The ceiling is not the problem. The habit is.
This is not a Chicago quirk. It's the design. Sarah Anzia's Timing and Turnout (University of Chicago Press, 2014) found that off-cycle elections don't lower everyone's turnout equally — they lower it among people with no particular stake, while organized groups keep voting. The smaller the electorate, the larger the share those groups represent. The Public Policy Institute of California puts the gap at roughly 36 percentage points between off-cycle city elections and those held alongside a presidential race.
Low turnout isn't apathy. It's a room with the lights dimmed, and somebody already sitting in it.
Tuesday proved it cuts both ways
Here's the hopeful part, and it happened on the same ballot as the firsts.
Keisha Lance Bottoms said it on election night, after an opponent who had spent nearly $200 million of his own money trying to beat her. In her words:
You've shown that no amount of money will ever never ever ever overcome the power of the people.
She was talking about her own campaign. It was true somewhere much smaller on the same night.
Ballotpedia counted 41 local data center measures on the November 3 ballot across ten states. Ohio alone had 21, across 18 jurisdictions. In Sunbury, residents passed a charter amendment restricting data centers drawing 25 megawatts or more. In Wilmington, about 80% of voters rejected all four rezoning referendums that would have rezoned rural residential land for industrial use.
These were township zoning questions and charter amendments — the least-covered rooms in American government. And they just became the place where the largest infrastructure buildout of our lifetime gets decided.
I want to be careful here, because I write about AI and I build with it. This isn't a story about technology losing. It's a story about who gets a vote on where it goes, and what it costs them. Those are the rooms where that gets settled, and for one Tuesday, people filled them.
(These counts were unofficial at the time of writing; I'll update them once they're certified.)
The Duty Roster
So I built the smallest possible thing that helps.
It's a roster: every election between now and 2028, plus the rooms that meet without a ballot — Police District Council meetings, Local School Council meetings, your ward office, Chi Hack Night. Each row lists when it happens, what it governs, the turnout the last comparable election drew, and where every one of those facts came from.
Each row has a button that says Make it so. It downloads a calendar file. Where a schedule belongs to your district, school or ward, the button says Find yours and goes to the official page instead.
That's the whole product. No account, no server, no API key. A pledge decays; a calendar entry goes off on February 23 whether or not you still feel like it.
I didn't copy the election dates from anywhere. The Illinois Election Code sets them by rule, so the code computes them from the law and checks them against the State Board of Elections' published calendar:
import calendar
from datetime import date, timedelta
TUESDAY = calendar.TUESDAY
def last_weekday(year: int, month: int, weekday: int) -> date:
last = date(year, month, calendar.monthrange(year, month)[1])
return last - timedelta(days=(last.weekday() - weekday) % 7)
def consolidated_primary(year: int) -> date:
"""10 ILCS 5/2A-1.1: odd years, the last Tuesday in February.
Chicago's mayor, clerk, treasurer and all 50 alderpersons are elected that day."""
return last_weekday(year, 2, TUESDAY)
assert consolidated_primary(2023) == date(2023, 2, 28) # the last one, per the election board
assert consolidated_primary(2027) == date(2027, 2, 23) # the next one, per the State Board
# full implementation, with tests and every source: github.com/lorenanicole/blog-code/tree/main/make-it-so-show-up-build-tools
The calendar files follow the iCalendar standard (RFC 5545) to the letter, commas escaped and all, so any standards-following calendar app can open them. Each one is about a dozen lines of plain text. A dozen lines is the difference between remembering and forgetting.
Every number on the roster carries its source: turnout from the Chicago Board of Election Commissioners' official proclamations, meeting schedules from the City, CPS and the organizers themselves. A small script re-reads those pages to make sure the facts still hold. It asks each site's robots.txt for permission first, identifies itself, waits between requests, and touches nothing but public pages. No personal data goes in or comes out.
Meanwhile, YouTube keeps serving me ads for dollar stores, Starlink and how to ride the CTA. The unsettling part is that it's mostly right. I do shop the dollar store, and I always need help with the CTA. It knows because it watches. The roster doesn't, and won't.
Open the Duty Roster: five ballots and four rooms, each one sourced.
Not a code person? Download the roster as a PDF to print, stick on the fridge, or forward to your group chat. Every link and date is in it.
Engage
Picard didn't end a briefing with a speech. He ended it with one word.
Senator-elect Abdul El-Sayed ended his victory speech Tuesday night with six: "So Michigan, let's go build it."
Same beat. The talking is done, and the work starts now.
So here's my ask. Pick your post:
- Gold, operations. One project. Chi Hack Night has been building civic tech in Chicago for years. Bring a laptop.
- Blue, sciences. One person. Mentor someone new, especially someone who's the first in their family, their team or their office to do the thing.
- Red, command. One meeting. A ward night, a school council, a police district council. Show up when there's no ballot on the table.
Then put the next one on your calendar before you close this tab. That's the only part that compounds.
The firsts got elected. Whether they get to govern is a question about day 108, and the runoff in April, and every quiet meeting in between.
Until next time: live long, Python & prosper. 🖖