Every field program answers three questions: who are we talking to, where do they live, and who’s knocking which doors? Romulus treats those as one pipeline: segment, universe, turf. Most bad Saturdays in field come from tools that treat them as three.
Build the segment
The segment builder is the filter panel on the Voters desk. Stack conditions (party, vote history, geography, age, contact history, custom fields, voter scores) and the count updates as you narrow. Bulk actions work on the result, so tagging a segment or adding it to a phone bank needs no export.
Save it as a universe
A universe is a named, reusable filter set, like “Persuadable independents, D5,” shared with the campaign. It’s a definition, not a snapshot: it re-evaluates every time you open it, so it stays true as voters are contacted, move, or fall off the file. (Lighter-weight saved filters become phone bank call lists.)
Point a universe at never-contacted voters and it refills itself as the campaign works, which is how we go after the voter who never gets a knock.
Cut the turf
A turf is a chunk of a universe one canvasser can knock in a shift: a name, a voter list, an optional map polygon, an optional script, and canvasser notes (“stay on the east side of Main”).
Two ways to cut one:
- From the map: draw a polygon; Romulus assigns every voter inside.
- From a filter: Save as turf on any segment or universe, polygon optional.
Move edge-of-polygon households between turfs anytime, and hit Re-evaluate to bring a turf back in line with its universe. Turfs land in the Canvasser app as maps and walk lists, with the script on screen at the door.
Watch it move
The turf list shows voter count, contacted in the last 30 days, percent complete, and last canvass. Each turf has a color-coded contact-age map, outcome breakdowns, script response summaries, and per-canvasser session stats, so the Sunday reallocation is a decision, not an argument.
The full detail is in the docs under field & turf.