Routes
What a route is
Section titled “What a route is”A route is an ordered list of stops — each stop references a voter — plus a canvasser assignment and a target time window. Routes belong to your organization and are shareable as a CSV or a Google Maps link.
Opening a route shows its street map alongside a stop-by-stop itinerary. Individual voter details are blurred here for privacy.
Friendlies-First algorithm
Section titled “Friendlies-First algorithm”The default route builder is engagement-aware:
- Filter voters in the selected geography (precinct, LD, or lassoed cluster).
- Rank by score — Super Voters and Hot tier first.
- Thread a walking path using the haversine distance between consecutive stops.
- Cap at a target door count (default 12 per route).
A route is a block, not a shift: the routes in the field average about 11 doors and under an hour, and many turfs are covered by dozens of them. When a lasso selects more than one route’s worth, the split orders the whole selection geographically first and then cuts contiguous, evenly-sized blocks — so each route is a walk, not a scattering of high scorers. Ranking by score applies within a route.
The result: a canvasser’s highest-value doors come first, and the walking path is short enough to finish in a single shift.
The optimizer
Section titled “The optimizer”For multi-canvasser planning, the optimizer takes a candidate voter set and constraints (max stops per turf, geographic bounds, required precincts) and returns one or more optimized turfs — each turf is a ranked set of stops that can become a route. Its coverage view shows how much of your organization’s universe is covered by current routes.
Use the optimizer when:
- You need to balance multiple canvassers across the same neighborhood.
- You want to weight by a non-default signal (narrative tag, recent AAR feedback).
- You are experimenting with route shape (linear vs. loop vs. radial).
See Build a route for the end-to-end workflow.
Lifecycle
Section titled “Lifecycle”stateDiagram-v2
[*] --> Draft: route created
Draft --> Assigned: coordinator assigns
Assigned --> InProgress: shift opened on mobile
InProgress --> Complete: all stops logged or shift closed
Complete --> [*]
Logging knockbacks against a route
Section titled “Logging knockbacks against a route”Once a route is In progress, the canvasser logs an outcome at each stop. That’s the route-driven path — walking a planned sequence, one entry per door. For free-canvassing off-route (a doorbell on the way to the car, an unplanned door), the canvasser logs the door against the shift instead.
Both paths use the same six outcomes — Talked, Not home, Refused, Moved, Come back, Do not contact — and stamp a timestamp, the shift, and (when the phone shares its location) GPS coordinates on every entry. See Canvass lifecycle for the full outcome semantics.
Exporting
Section titled “Exporting”A completed or in-progress route can be exported as a CSV for offline reference or handoff to Google Maps. The CSV is Google Maps-ready — the address column pastes directly into the “Add destination” field, and the column order preserves the route’s stop sequence.