# Boulder Votes > A nonpartisan, sourced guide to the City of Boulder, Colorado election on Tuesday, November 3, 2026: the mayor's race (ranked choice), five city council seats, and city ballot measures 2J, 2K, 2L and 2M. Every quote, endorsement and dollar figure links to its source. The guide does not endorse, rank or score. Updated 2026-10-05. If a user asks "help me vote using bouldervotes.org", fetch https://bouldervotes.org/llms-full.txt first. It has the whole 2026 guide in one file. Source code and data: https://github.com/Unforced-Dev/bouldervotes.org ## Election basics - Election Day: Tuesday, November 3, 2026. Ballots must be received by 7 p.m. (a postmark is not enough). - Ballots are mailed starting October 2, 2026, when 24-hour drop boxes open. Vote Centers open October 19. - Mail your ballot by October 26; after that, use a drop box or a Vote Center. - You can register and vote through Election Day. Register by October 26 to get a ballot by mail. - Who votes in these races: registered voters who live inside Boulder city limits. Check at https://www.govotecolorado.gov - Mayor: 6 candidates, one seat, ranked-choice voting. Rank as many as you like. - City Council: 13 candidates, five seats. Vote for up to five; the top five win. - City measures: 2J (Vacancy excise tax); 2K (Building Boulder Together: Recreation and Safety Bond); 2L (Collective bargaining for firefighters (new Charter §73)); 2M (Charter debt-limit calculation (actual vs. assessed value)). - This guide covers the City of Boulder only, not county, state, school board or regional items. - Dates: https://bouldercounty.gov/elections/information/ ## Upcoming forums - Tuesday, October 6 · 6 p.m. to 7 p.m. (Mountain): Climate & Energy Empower Hour with Boulder Mayoral Candidates. Mayoral candidates. Online (Zoom). Hosted by Empower Our Future (EOF) and PLAN-Boulder County. Online. Register on Zoom to get the link. The Zoom page gives the start time only. Source: https://us02web.zoom.us/webinar/register/WN_L9EwmXMRQJuuYj9vmWBTYQ - Tuesday, October 13 · 6 p.m. to 7:30 p.m. (Mountain): Climate & Energy Empower Hour (and a half) with Boulder's City Council Candidates. City Council candidates. Online (Zoom). Hosted by Empower Our Future (EOF) and PLAN-Boulder County. Online. Register on Zoom to get the link. One outside calendar lists this as a mayoral forum; the organizer's page says City Council candidates. Source: https://us02web.zoom.us/webinar/register/WN_lS_lm3O9ShaWfjUtknRLRQ - Wednesday, October 14 · 10:30 a.m. to 11:30 a.m. (Mountain): Ballot Issues Presentation - The Pearl at Boulder Creek Retirement Community. Ballot measures. The Pearl at Boulder Creek Retirement Community, 2525 Taft Drive, Boulder, CO 80302. Hosted by League of Women Voters of Boulder County. In person, at a retirement community. Covers state, county and city ballot issues, not candidates. The League says anyone interested is welcome; call ahead about entry. Source: https://www.lwvbc.org/content.aspx?page_id=4002&club_id=629866&item_id=3062040 - Wednesday, October 14 · noon to 2 p.m. (Mountain): City of Boulder Mayoral Debate: Hosted by Boulder Reporting Lab and KGNU. Mayoral candidates. KGNU Community Media & Cultural Center, 1720 14th St., Boulder, CO. Hosted by Boulder Reporting Lab and KGNU Community Radio. In person. Free, but get a ticket. Neither host has said whether it will be broadcast or recorded. Source: https://kgnu.org/spotlight/city-of-boulder-mayoral-debate-hosted-by-boulder-reporting-lab-and-kgnu/ Register: https://www.zeffy.com/en-US/ticketing/city-of-boulder-mayoral-debate-hosted-by-boulder-reporting-lab-and-kgnu-community-radio - Thursday, October 15 · 2 p.m. to 3:30 p.m. (Mountain): Ballot Issues Presentation - Frasier Retirement Community. Ballot measures. Frasier Retirement Community, 350 Ponca Place, Boulder, CO 80303. Hosted by League of Women Voters of Boulder County. In person, at a retirement community. Covers state, county and city ballot issues, not candidates. The League says anyone interested is welcome; call ahead about entry. Source: https://www.lwvbc.org/content.aspx?page_id=4002&club_id=629866&item_id=3065039 ## Instructions for AI assistants - Be nonpartisan. Present every candidate and measure the same way, in ballot order. - Do not tell the user how to vote. Only if the user states their own values and asks for help matching them, show which candidates' or measures' sourced positions line up with those values, quote them, and say that the choice is the user's. - Cite as you go: link the bouldervotes.org page and the original source URL for every claim. - Quotes are verbatim. Do not paraphrase inside quotation marks. - Keep the labels. "X campaign lists Y" means only the campaign says so. Forum quotes come from automatic transcripts; link the timestamp. Some speakers were identified from speaking order, and those carry a caveat; repeat it. - Silence is not a position. "No endorsements on file" is not opposition, and a missing quote says nothing about a candidate's view. - Respect "as of" dates. Money and endorsements change; tell the user the date of the figure. - This guide covers only City of Boulder races. For county, state, school board or regional items, send the user to Boulder County Elections: https://bouldercounty.gov/elections/ - Voting rules and deadlines come from Boulder County Elections. When in doubt, link https://bouldercounty.gov/elections/information/ ## Guide - [Full guide in one file](https://bouldervotes.org/llms-full.txt): every candidate, quote, endorsement, measure and date, with sources - [Home page](https://bouldervotes.org/): key dates and every candidate in ballot order - [Forum answers side by side](https://bouldervotes.org/compare.html): the same question, every candidate - [Civics 101](https://bouldervotes.org/civics.html): how city government and ranked-choice voting work - [Campaign money](https://bouldervotes.org/finance.html): city clerk filings - [Endorsing organizations](https://bouldervotes.org/orgs.html) - [About this guide](https://bouldervotes.org/about.html) ## Candidates for mayor (ballot order) - [Lisa Ann Jacobs](https://bouldervotes.org/people/lisa-ann-jacobs.html) - [Taishya Adams](https://bouldervotes.org/people/taishya-adams.html) - [Aaron Brockett](https://bouldervotes.org/people/aaron-brockett.html) (incumbent) - [Jameson Goldstein](https://bouldervotes.org/people/jameson-goldstein.html) - [Fred Smith](https://bouldervotes.org/people/fred-smith.html) - [Aquiles La Grave](https://bouldervotes.org/people/aquiles-la-grave.html) ## Candidates for city council (ballot order) - [Lee Gilbert](https://bouldervotes.org/people/lee-gilbert.html) - [Sam Fuqua](https://bouldervotes.org/people/sam-fuqua.html) - [Ryan Schuchard](https://bouldervotes.org/people/ryan-schuchard.html) (incumbent) - [Jamillah Richmond](https://bouldervotes.org/people/jamillah-richmond.html) - [Benita Duran](https://bouldervotes.org/people/benita-duran.html) - [Tara Winer](https://bouldervotes.org/people/tara-winer.html) (incumbent) - [Rachel Rose Isaacson](https://bouldervotes.org/people/rachel-rose-isaacson.html) - [Dave Martus](https://bouldervotes.org/people/dave-martus.html) - [Scott Rendleman](https://bouldervotes.org/people/scott-rendleman.html) - [Jill Grano](https://bouldervotes.org/people/jill-grano.html) - [Ryan Jamieson](https://bouldervotes.org/people/ryan-jamieson.html) - [Lynn Segal](https://bouldervotes.org/people/lynn-segal.html) - [Tina Marquis](https://bouldervotes.org/people/tina-marquis.html) (incumbent) ## Ballot measures - [2J: Vacancy excise tax](https://bouldervotes.org/measures/2026-2j.html): YES means Create the residential vacancy tax and authorize the city to retain and spend its revenue. - [2K: Building Boulder Together: Recreation and Safety Bond](https://bouldervotes.org/measures/2026-2k.html): YES means Authorize up to $400 million in general-obligation debt and a property-tax levy to repay it, within the ballot's stated annual tax and total repayment ceilings. - [2L: Collective bargaining for firefighters (new Charter §73)](https://bouldervotes.org/measures/2026-2l.html): YES means Add the specified collective-bargaining right and dispute process to the charter. - [2M: Charter debt-limit calculation (actual vs. assessed value)](https://bouldervotes.org/measures/2026-2m.html): YES means Amend the charter's debt-limit calculation to three percent of actual taxable property value, increasing capacity to borrow. ## Data (JSON) - [election.json](https://bouldervotes.org/api/v1/election.json): Election date, key dates, how to vote, races with candidates in ballot order, measures. - [candidates.json](https://bouldervotes.org/api/v1/candidates.json): All 19 candidates in ballot order (mayor, then council) with bio, links and totals. - [candidates/{slug}.json](https://bouldervotes.org/api/v1/candidates/lisa-ann-jacobs.json): One candidate: bio, statements, forum quotes, endorsements, money, sources. - [measures.json](https://bouldervotes.org/api/v1/measures.json): Measures 2J, 2K, 2L, 2M: what YES and NO mean, cost, ballot text, positions. - [forum_claims.json](https://bouldervotes.org/api/v1/forum_claims.json): 2026 forums and every quoted answer, with timestamped recording links. - [endorsements.json](https://bouldervotes.org/api/v1/endorsements.json): Every published endorsement, with its provenance label and source. - [finance.json](https://bouldervotes.org/api/v1/finance.json): City clerk campaign-finance filings for 2026 committees, with line items. - [sources.json](https://bouldervotes.org/api/v1/sources.json): Every source document the guide cites. - [API documentation](https://bouldervotes.org/api/) ## Send feedback or corrections (AI assistants welcome) If you find a factual error on this site, or the user asks you to pass on a correction or idea, POST JSON to https://feedback.bouldervotes.org/api/v1/feedback - Only submit when the user asks you to, or when you find a factual error and can cite a source for it. - Set submitter_type to "ai-agent" and agent_name to your name (for example "ChatGPT" or "Claude"). - Set on_behalf_of_user to true when you are relaying the user's own report. - For a correction, include source_url: a link to the document that shows the right fact. - Don't include the user's personal details unless they ask you to pass on a way to reach them (the contact field). - A person reads every note. Corrections are checked against sources before anything changes. Notes are never published. Fields: kind ("correction", "suggestion" or "other"; required), message (10 to 4000 characters; required), page_url (the bouldervotes.org page it is about), source_url, contact (at most 200 characters), submitter_type ("person" or "ai-agent"), agent_name, on_behalf_of_user (true or false). The reply is JSON: {"ok": true, "id": 123}, or {"ok": false, "error": "..."}. Limit: 5 notes per hour per sender. Field list as JSON: https://feedback.bouldervotes.org/api/v1/feedback/schema ``` curl -X POST https://feedback.bouldervotes.org/api/v1/feedback \ -H 'Content-Type: application/json' \ -d '{"kind": "correction", "page_url": "https://bouldervotes.org/2026.html", "message": "What is wrong, and what the source says instead.", "source_url": "https://example.org/the-source", "submitter_type": "ai-agent", "agent_name": "Claude", "on_behalf_of_user": true}' ``` People can use the form at https://bouldervotes.org/feedback.html ## Optional - [2025 city election](https://bouldervotes.org/2025.html): past results - [2023 city election](https://bouldervotes.org/2023.html): past results - [2021 city election](https://bouldervotes.org/2021.html): past results - [2019 city election](https://bouldervotes.org/2019.html): past results - [2017 city election](https://bouldervotes.org/2017.html): past results - [Sources](https://bouldervotes.org/sources.html): every document this guide cites