Politimate
Product Features Our Story Guides Pricing Blog Contact
Sign in Start free trial
☰
Product Features Our Story Guides Pricing Blog Contact Sign in Start free trial
← Back to home

Guide · Getting started

Precincts: the map your campaign runs on

Your voters are in. Open the Precincts tab and it says zero. That is not a mistake — it is the one step the app cannot do for you the first time, and everything in a campaign depends on it.

Why there is nothing on the map yet

Every precinct page, every walk list and every piece of turf is built on precincts: the map areas your voters are grouped into. Your voter file gave each voter a precinct code — the county's number. What the app does not have yet is the shape of each precinct on the map.

Importing never draws those shapes on its own the first time. It only redraws them later, when a new file moves voters or changes their codes. So a brand-new organization has voters and no precincts until you do one of the two things below. You only need one.

Not the same as boundaries. A boundary is an optional outline you upload — your district, the city limits — used to clip shapes or filter an import. A precinct is the unit your campaign actually works. You need precincts; boundaries just help.

The Precincts tab in Canvass: the count of precincts loaded, the Upload polygons panel, and the start of the Generate from voter locations panel
The Precincts tab. This organization already has eight loaded; a brand-new one says zero, with the same two panels underneath.

The easy way: generate them from your voters

Choose Generate from voter locations. The app draws a small area around every voter it has placed on the map, merges the areas that share a precinct code, and names each one from your file. Forty-six codes in, forty-six shapes out.

Nobody's precinct changes. This only draws the shape around the code the county already gave each voter — it never reassigns anyone.

Clip it to a boundary — this is the part that matters

Choose Generate from voter locations and the first thing it asks for is a boundary to clip to, marked recommended. Here is why. Without one, each outer shape simply stops 350 metres past the outermost voter — that is the default, and it is fine when your voters sit in one self-contained patch. But wherever your district has a real edge, that guess draws a fuzzy one. Clip to your district's outline and every shape is cut exactly there; nothing spills past it.

A boundary is a file you upload once, on the Boundaries tab — the same kind of GeoJSON described below, but it is your district, not precincts. If you don't have one yet, do that first; it takes a minute.

The Generate from voter locations panel with the clip picker marked recommended, its boundary layer set to No clip, and the Generate precincts button
The generate panel before a boundary is chosen. The default stops 350 m past the outermost voter.

Pick the layer, tick the district, then read the note that appears before you press anything. The app checks the boundary against your precinct codes and tells you what it covers:

  • Green — "Covers all 8 precincts." Every precinct code with voters falls inside. Generate.
  • Amber — "Covers 1 of 8 precincts. The other 7 lie outside this boundary and will be left exactly as they are — not reshaped, not removed. If your voters span more than one boundary, select every one of them." You have picked a boundary that doesn't cover your voters — the wrong district, or only part of what your file spans. Tick every piece your voters live in.
The clip picker with District 4 ticked and a green note reading Covers all 8 precincts
District 4 ticked: green. Every precinct with voters is inside — safe to generate.
The clip picker with District 3 ticked and an amber note reading Covers 1 of 8 precincts, the other 7 lie outside this boundary and will be left exactly as they are
The wrong district: amber. Seven precincts would be left untouched. Pick the district your voters actually live in.

That amber note exists because of a real mistake. An admin once clipped a whole file to the wrong county's outline: it reshaped the seventy precincts that touched the line and, in the app's old behaviour, threw away the other three thousand. The generator now never removes a precinct that still has voters — anything outside the clip keeps its shape, its name and its households, exactly as the note says. Only a code with no voters at all is removed. So the worst case today is a partial job you re-run with the right boundary, not a wrecked map.

Press Generate precincts. It takes seconds, and the message afterwards tells you what happened: how many precincts were made and named, and — if any — how many codes with voters lay outside the clip and were left as they were. Re-running later replaces the shapes inside the clip and leaves everything else alone, and any name you have edited by hand is kept.

The Precincts tab after generating: 8 precinct(s) loaded, and a green message reading Generated 8 precinct(s) from 5002 voter locations
Done. The message says exactly what happened — here, eight precincts drawn from 5,002 voter locations, clipped to District 4 — and the count at the top now matches.

The other way: upload the county's own shapes

If your county elections office publishes its precinct maps as a file, you can load those instead — they will match the county's lines exactly. Choose Upload polygons. The file has to be:

  • A GeoJSON file — a FeatureCollection of Polygon or MultiPolygon shapes, up to 25 MB and 20,000 shapes.
  • In ordinary map coordinates (longitude, latitude — WGS‑84), which is what most county downloads already are.
  • Carrying each shape's precinct code in a property — usually called PRECINCT. Tell the app the property name if the county used a different one. A name property is optional.

Uploading the same code again replaces that shape in place, so it is safe to redo. Shapes missing a code are skipped and reported, not loaded.

After this, the app keeps them current

You do this once. When a later import moves voters or changes their codes, the import tells you before it runs — "the app will automatically regenerate the precinct boundaries from voter locations" — asks you to acknowledge it, and redraws them when the voters have loaded. Canvass status stays attached to each voter through it.

If a precinct page ever says no precincts have voters yet, it means voters have codes but no map position — re-run the import with coordinates, or let the import place them.

Voters in, no precincts yet? This is the screen.

Open your Precincts page Start free trial

← Previous guide: importing voters  ·  Next guide: campaigns and who they talk to →

© 2026 Politimate LLC. All rights reserved.
Our Story Guides Terms of Service Privacy Policy Refund Policy Trust & Security Contact