//Who it's for
Campaign software for city council candidates
Facts checked against official sources · September 9, 2026
A city council race is the most walkable election in American politics. The district is a few square miles, the win number is usually in the low thousands, and the voters who decide it can be identified from the county file and reached at the door in the months you have. The campaigns that lose are usually the ones that spent those months on a logo.
This page explains the shape of a council race with real numbers, then walks through how a council campaign uses Culper in the first week and the months after: importing the file, generating walk routes, building precinct-level lists, texting inside the rules, and where online donations stand (in development). It ends with what to skip and what the product does not do.
The shape of a city council race
There are 19,519 municipal governments in the United States by the Census count the National League of Cities cites, and more than three-quarters of them hold nonpartisan elections. The most common structure is council-manager (55% of cities by 2006, NLC reports), where the council sets policy and budget and a professional manager runs the departments. What the seat controls is covered at /learn/what-does-a-city-council-do.
The single most important fact about your race is whether the seat is elected by district or at large. A single-member district is a defined patch of the city, small enough that a disciplined candidate can knock every likely voter's door twice. An at-large seat is voted on by the whole city, which means more mail, more signs, more volunteers, and a coalition rather than a neighborhood. Mixed systems (some seats by district, some at large) are common, and the two kinds of race are run differently even on the same ballot.
Timing decides the electorate. Many cities elect in odd years or in the spring, when nothing federal is on the ballot. Texas shows the gap plainly in the Secretary of State's turnout tables: 61.15% of registered voters turned out in November 2024, and 14.43% in the odd-year November 2023 election. A May municipal election with nothing else on the ballot is usually smaller again, and the people who show up are habitual voters, so vote history is the first filter on your list. Election timing by state is at /learn/how-local-elections-work and /run-for-office.
Your win number is probably in the low thousands
Work backward from ballots cast, not from population. Pull the results of the last two comparable council elections from the city secretary or county elections office, take the total ballots in your district, and divide. The table shows the arithmetic for an example district; your numbers come from your own results archive. The method, with more cases, is at /learn/how-many-votes-to-win-a-local-election.
The point of the exercise is that a win number of 1,500 or 2,500 votes is a door-knocking number. A candidate plus a dozen part-time walkers can touch the whole likely-voter universe in a district that size before early voting, and the rest of the plan (signs, texts, mail) exists to reinforce those conversations rather than replace them.
| Step | Example district | Where yours comes from |
|---|---|---|
| Registered voters in the district | 25,000 | Your voter file, filtered to the district |
| Turnout in the last comparable election | 12% | City secretary or county results archive |
| Ballots you should expect | 3,000 | Registered voters times turnout |
| Votes to win a two-way race | 1,501 | Half of expected ballots, plus one |
| Votes to win a multi-seat at-large race | Varies | The vote total of the last candidate elected last time |
The first week
Setup is a week of evenings if you do it in the right order. Everything below depends on the file being in and mapped, so that comes first.
- Request access and take the onboarding call. The workspace is created for you with the office, district, and election date on the record, and you have dashboard access on day one.
- Obtain the voter file from the county or state (the guides at /run-for-office say who sells it) and import it as a CSV. Column mapping is automatic for state exports, NGP VAN exports, and L2, i360, and Aristotle subsets.
- Set the jurisdiction and voter universe in settings so list counts and walk generation stay inside the district boundary.
- Build three saved lists: habitual local voters (your door list), presidential-year-only voters (your October turnout list), and everyone else.
- Write a door script and a survey with two or three questions you will act on. Every answer lands on the voter record.
- Invite the team by email or share link, with roles: campaign manager, staff with specific permissions, or volunteer. Volunteers get the iOS and Android app links in the invite.
- Start 10DLC brand and campaign registration. Nothing texts until it is approved, and approval runs in days to weeks.
- Generate the first batch of walks from the habitual-voter list and assign or open them.
Walk generation for walkable turf
Walk generation is a four-step wizard: pick a list, configure, preview, create. In the configure step you split by proximity into walkable blocks of a target size (default about 150 doors, range 30 to 500) or by voter precinct so each precinct becomes one walk. You choose knock-and-talk, where the walker runs the script and survey, or door-hanger-only for literature drops, and whether the walks are hand-assigned, open for any volunteer to claim, or restricted to a named list. You can also draw a polygon on the map and create a single walk from the voters inside it.
Walks carry a status (draft, ready, assigned, in progress, completed), a priority, a scheduled date, and an optional group name, so 40 walks stay organized by neighborhood or weekend. Two walkers on one walk split its doors. Walkers use the iOS or Android app or a browser link; visits are GPS-verified, survey answers appear as they are captured, and the live map shows every walker.
Assigning a walker sends a push notification to the app and nothing else. If the volunteer has not installed the app, tell them directly the first time. Results flow into the voter record as campaign-scoped annotations, and the voters-reached report shows every touch by channel and day so you know whether you are on pace. Technique is at /learn/door-knocking-guide-for-local-campaigns.
Precinct-level lists
Precincts are the unit the county reports results in, the unit the party organizes in, and the unit your captains think in, so build lists to match. Structured search filters on precinct, ZIP, congressional, state senate, and state house district, party, and vote history; any result can be saved as a list, foldered, and tagged. Tags follow the voter across every feature, so a 'yard sign' tag set at the door shows up when you build the sign route.
On the Campaign tier you can type the question instead: 'registered voters in precinct 2104 who voted in two of the last three city elections' returns a saved list. The language model only ever produces a constrained query, which is validated and run against a read-only, campaign-scoped database role; no voter rows are sent to the model. Lists export to CSV for anyone whose role has the export permission.
After each walk, rebuild: Saturday's supporters become the sign list, the undecideds the follow-up text list, and the doors nobody answered next Saturday's walk. That loop is the reason to keep everything in one system.
Texting within compliance
Two rules govern political texting. Under the Telephone Consumer Protection Act, autodialed or prerecorded texts to a cell phone require prior express consent, with statutory damages of $500 per violation and up to $1,500 when willful. And carriers require anyone texting from 10-digit numbers to register through The Campaign Registry; political senders are also vetted by Campaign Verify, which covers candidates registered with a state or local election authority and decides submissions within minutes to two business days. Full rules: /learn/political-texting-rules-tcpa-10dlc.
In the product, the 10DLC wizard runs during onboarding and sending is disabled until the carriers approve. After that, outreach texts a saved list with templates and delivery tracking and requires documented consent for every number; peer-to-peer texting lets volunteers work a queue one voter at a time, with no send-to-all button. Every STOP is honored instantly and propagates to a global suppression list that no campaign can override, and numbers are normalized before checking so a formatting difference cannot let an opted-out voter through.
Donations and your campaign page
Online donation processing is in development and not yet live. The design is Stripe Connect, so contributions will pay out to the committee's own account with card handling inside Stripe's PCI-compliant flow, and an embeddable donation widget for your website is planned for the Campaign tier; confirm timing on the onboarding call before you plan an online-first money program. In the meantime, take online contributions through a dedicated processor such as Anedot, ActBlue, or WinRed and record donors as contacts. Contribution limits and reporting are covered at /learn/campaign-finance-basics-for-local-candidates.
Every campaign has a public campaign page and a volunteer sign-up form, so the person who filled in a form in March is on your roster in September.
What to skip
A council race rewards depth over breadth. These are the things most council campaigns should leave alone, at least until the door program is running.
- Skip a commercial voter extract for the whole county when your district is a sliver of it. The county file with vote history is enough for a first cycle.
- Skip email to strangers. County files rarely carry usable addresses, and cold email does not move council votes. Email the people who gave you their address.
- Skip phone banking until 10DLC and voice setup are done and the doors are exhausted.
- Skip text polls in a single-member district; the opt-in sample is too small to mean much. They earn their keep in citywide races.
What Culper does not do
Everything above describes the product as it is today. These are the things it does not do, so you can budget for them elsewhere.
- It does not come with a voter file for your city. You obtain the file from the county or state and upload it; the state guides explain how.
- It does not file your campaign finance reports or candidate paperwork.
- It does not plan or design your mail. It can print and mail a piece you design to a saved list, with a quote first, and it logs mail you produce elsewhere so the touch counts.
- It does not build a full campaign website. You get a campaign page and a sign-up form.
- It does not text anyone until 10DLC registration is approved.
- It does not process online donations yet. Stripe Connect payouts and embeddable donation widgets are in development; confirm timing on the onboarding call, and use Anedot, ActBlue, or WinRed for online contributions in the meantime.
- Pricing is not on the website. Three tiers exist (Challenger, Campaign, Committee), and the number is set after a short onboarding call.
Frequently asked questions
How many votes does it take to win a city council seat?
Usually a few thousand or fewer in a single-member district, and more in an at-large race. The honest answer comes from the last two comparable elections in your city's results archive: take total ballots in the district, and in a two-way race aim for half plus one. Population and registration overstate the electorate badly in odd-year and spring elections, so never size the race from those.
Is a district seat or an at-large seat easier to win?
A district seat is easier to organize because the electorate is small enough to reach at the door. An at-large seat requires citywide name recognition, which means mail, signs across the city, endorsements, and a coalition rather than a neighborhood. The same software runs both, but the walk program dominates a district race and the outreach and sign programs matter more at large.
Do I need to buy voter data to use Culper?
You need a voter file, but in most states the county elections office or Secretary of State sells one to candidates for a modest fee, and that is usually enough for a council race. You upload it as a CSV, column mapping is automatic for the common formats, and the file stays in a silo only your campaign can read. Onboarding is open to candidates in any U.S. state.
Can I generate walk routes from a map instead of a list?
Yes. You can draw a polygon on the map and create a single walk from the voters inside it, or start from a saved list and split it by proximity or by precinct. Most council campaigns do both: precinct walks for captains who own a precinct, and proximity walks for the Saturday crew.
How long does 10DLC registration take for a council campaign?
Plan for days to weeks. Campaign Verify says it decides political vetting submissions within minutes to two business days, a mailed PIN takes 5 to 10 business days if you need one, and carrier approval of the campaign registration follows. Start it in the first week; nothing texts until it is done.
Set up the council race in a week
Keep reading
More from Who it's for
Sources
- 1.National League of Cities, Cities 101: Number of Local Governments (19,519 municipal governments)
- 2.National League of Cities, Cities 101: Partisan and Non-Partisan Elections (over three-quarters nonpartisan)
- 3.National League of Cities, Cities 101: Forms of Local Government (council-manager 55% by 2006)
- 4.Texas Secretary of State: turnout and voter registration figures, 1970-current (Nov 2024 61.15%, Nov 2023 14.43%)
- 5.47 U.S.C. § 227, Telephone Consumer Protection Act, Legal Information Institute
- 6.Campaign Verify: political sender vetting for 10DLC
- 7.The Campaign Registry: 10DLC brand and campaign registration