CAMPAIGN COMMAND
LOCAL  
TACTICAL FIELD OPERATIONS PLATFORM

The other side is inbound. See it coming. Answer fast.

Opponent mailers, attack ads, hit pieces and social surges land on one threat board. You answer on the same screen. Walk lists out to the doors, phone bank, ringless voicemail, SMS, email, volunteers, all pacing to Election Day.

AES-256ROLE-BASED ACCESSBUILT IN THE FIELD● ONLINE
06:00:00
THREAT RADAR · SECTOR SCAN · ◈ SHIELD ACTIVE
DAYS UNTIL
ELECTION DAY
T‑00

ABOUT · CAMPAIGN COMMAND

Most campaign software is a database with a bill attached. It generates reports. Reports do not knock doors.

Campaign Command was built inside a live race, and it exists to shorten one distance: from “we should knock those doors” to a volunteer standing at that door. Draw the area on the map, filter the universe, cut the list, assign it. The walker carries it on a phone that works with no signal, or on paper with a QR code if they will not use an app. Either way it comes back to the same voter record your call list, your vote goal and your chase list are built from. Nothing to reconcile at midnight.

Then it tells you the truth. The strategy page shows the win number and the arithmetic under it, states its own assumptions, and says so when it cannot know something. Margin is arithmetic. You are on pace or you are not, and your software should be the first to say which.

TURF TO DOOR, ONE PASSA walker is at a door tonight instead of Thursday, because the map, the filters, the cut list and the assignment are the same screen.
KEEPS WORKING UNDERGROUNDNo door is lost to a dead zone. The field app writes every disposition, ID and note to the phone first and syncs when signal returns.
PAPER STILL REPORTSVolunteers who will not touch an app still count. They walk a printed packet, scan the QR code on it, and their doors land in the same data.
THE DOORS YOU MISSEDNobody-home stops being a dead end. Every unanswered address comes back automatically as a list somebody can walk again.
ONE RECORD, EVERY CHANNELA survey answer from a phone bank shows up at the door and in the chase, because doors, dials, texts, ballots, volunteers and the vote goal are one system, not six exports.

Bring your district and your vote goal. Thirty minutes, and you will see the arithmetic and where the doors are.

[ RETURN TO BASE ]
Command Staff

The Team

Built by people who have run the program, not read about it.
Scott Riker Deutsch, Cofounder and Chief Strategist of Campaign Command
Scott Riker Deutsch
Cofounder & Chief Strategist
Unit CC-01  ·  Founding Operative  ·  Field-Certified
“I ran out of patience waiting for somebody else to build it.”

Scott Riker Deutsch was working campaigns before he could see over the yard signs. At seven years old he was dropping literature on doorsteps in East Greenwich, Rhode Island, learning the family trade. His father held elected office for nearly three decades across two states, from town council to the state legislature to county government. His stepfather led the minority caucus in the Rhode Island House. In the Deutsch house, election night was a holiday.

His first win as an operative came in 2010, taking a 21-year-old first-time candidate past a sitting Deputy Majority Leader. In the years since, he has managed and consulted on dozens of winning races, electing everyone from the youngest candidate on the ballot to an octogenarian incumbent. More than twenty-five years in the field taught him what actually moves votes: doors, phones, volunteers, and the discipline to know your pace, precinct by precinct, every single day.

It also taught him what campaigns are forced to work with. A voter file in one system, walk lists in another, phones in a third, volunteers on a spreadsheet, and no way to see the whole race in one place. Deutsch spent years in the technology and consulting world alongside his political work, and he ran out of patience waiting for somebody else to build the tool he needed. So he built it. Campaign Command is the product of every race he has ever run: one command center for the voter file, walk lists, phone banks, texting, ringless voicemail, volunteers, and real-time pace tracking, designed by someone who has actually knocked the doors.

When he is not on the trail or shipping new features, Deutsch is outside, on the road (47 states and counting), or hunting down his next favorite restaurant. He lives in Rhode Island with his wife, stepson, and their cats, Helga and Heidi.

25+
Years in the Field
DOZENS
Of Winning Races
2
Generations of Politics
1
Command Center

Talk with a Strategist

Every demo is run by somebody who has actually run a field program. No SDR, no qualifying call before the real call, and no handoff to a rep who has never knocked a door.

[ Request a Briefing ]
[ RETURN TO BASE ]

FREE TOOLS

The arithmetic every campaign needs and most never write down. No signup, no email, nothing leaves your browser.

Live

Win Number Calculator

How many votes it actually takes to win your seat, then how many doors that is, how many a day, and how many volunteers. Every assumption is yours to change.

[ OPEN ]
Live · check it weekly

Pace Tracker

You have a goal and a deadline. This tells you what you need per day, what you have actually been running, and the date you finish if nothing changes. Bookmark it and update one number each week.

[ OPEN ]
Live

Volunteer Shift Planner

How many volunteers you have to ask to get your doors knocked, and which thing runs out first. Usually it isn’t bodies. It’s the two people who can hand out packets on a Saturday morning.

[ OPEN ]
Live

Turnout Model

How many people actually vote in your district, as a range instead of a guess. Three past elections in, and it shows what the low end and the high end cost you in votes-to-win.

[ OPEN ]
Live

Campaign Timeline

Put in your election date and get the whole plan backwards from it, with the dates your state sets flagged as placeholders instead of guessed at. It’ll also tell you what you should be doing today.

[ OPEN ]
Live

Petition Signature Target

The law gives you a number. Duplicates, wrong addresses and bad dates take a share of it back. Work out what to actually collect, then what that is in people and hours a week.

[ OPEN ]
Live

Filing Deadlines & Ballot Access

We don’t publish filing dates, because a stale one could end your candidacy. This is where the real ones live, plus what to do when a state’s own link is broken.

[ OPEN ]

These are models, not predictions. They are only as good as the numbers you put in, and a turnout guess that is ten points off moves everything downstream by the same ten points. Use your own district’s history where you have it. Nothing here knows your state: where a date or a requirement is set by law, get it from your Secretary of State or your local board of elections.

◉  Every tool here runs entirely in your browser. No signup, no server call, no analytics on your numbers.

[ RETURN TO BASE ]

WIN NUMBER

How many votes it takes to win your race, and what that means in doors.

The seat
The field plan
Your vote goal

Enter your district above.

The arithmetic

Everything you typed is in the address bar. Copy the link to come back to it, or send it to somebody.

◉  Nothing you type here is sent anywhere. This runs entirely in your browser; there is no server call and no analytics on these numbers. Your inputs are kept in the address bar so you can bookmark this page and send it to somebody, which also means anyone you send the link to can read them.

This is a model, not a prediction. It is only as good as the numbers you put in, and every assumption on this page is yours to change. Nothing here knows your state or your district: where a date or a requirement is set by law, get it from your Secretary of State or your local board of elections and replace ours.

Want this counted for you?

Campaign Command tracks the same arithmetic against real doors, every night, and tells you when you are off pace.

[ Request a Briefing ]
[ ALL TOOLS ]

TURNOUT MODEL

Your win number rests on a turnout guess. Give this three past elections and get a range instead.

Most recent election
The one before (leave blank if you only have one)
One before that (leave blank)
The election you’re running in
Ballots likely cast

Put in one past election and the registration now. Three give you a tighter range than one.

The arithmetic

[ TAKE THE HIGH END INTO THE WIN NUMBER ]

Everything you typed is in the address bar. Copy the link to come back to it, or send it to somebody.

◉  Nothing you type here is sent anywhere. This runs entirely in your browser; there is no server call and no analytics on these numbers. Your inputs are kept in the address bar so you can bookmark this page and send it to somebody, which also means anyone you send the link to can read them.

This is a model, not a prediction. It is only as good as the numbers you put in, and every assumption on this page is yours to change. Nothing here knows your state or your district: where a date or a requirement is set by law, get it from your Secretary of State or your local board of elections and replace ours.

The number under your number

Campaign Command builds the vote goal off your own file and tells you which way you are drifting as the doors come back, rather than leaving the turnout guess sitting under everything untested.

[ Request a Briefing ]
[ ALL TOOLS ]

VOLUNTEER SHIFTS

You know how many doors you need a week. This works out how many people you have to ask to get them knocked, and which thing actually stops you.

The work
The shift
The people
What actually caps your program

Put in your doors a week and your shift plan.

The arithmetic

Everything you typed is in the address bar. Copy the link to come back to it, or send it to somebody.

◉  Nothing you type here is sent anywhere. This runs entirely in your browser; there is no server call and no analytics on these numbers. Your inputs are kept in the address bar so you can bookmark this page and send it to somebody, which also means anyone you send the link to can read them.

This is a model, not a prediction. It is only as good as the numbers you put in, and every assumption on this page is yours to change. Nothing here knows your state or your district: where a date or a requirement is set by law, get it from your Secretary of State or your local board of elections and replace ours.

Want this tracked, not calculated?

Campaign Command knows who confirmed, who showed, and who’s walked three Saturdays running. It builds next week’s ask list from the people who actually turn up.

[ Request a Briefing ]
[ ALL TOOLS ]

FILING DEADLINES & BALLOT ACCESS

We don’t publish filing dates. Here is where the real ones live.

Why we link out

A deadline three days stale could end your candidacy.
Every state writes its own rules for getting on the ballot, and those rules move between cycles. We could publish fifty-one dates and keep maybe forty of them right. We’d rather hand you the office that actually runs your ballot than become one more thing you have to double-check.
The directories below are maintained by the federal government, not by us.
Both were checked and answered on the day this page was written. Neither is perfect, and that is the point of the warning underneath them.
Start here

FEC · State Election Offices

All fifty states, DC and five territories, each with the office that runs its ballot and a link to that state’s own site. Framed for candidates rather than for voters, which is why it’s first.

[ OPEN DIRECTORY ]
Backup

EAC · Your State’s Election Office

The Election Assistance Commission’s version of the same directory. It’s framed around registering and voting, so it’s the second stop, but it carries a visible refresh date and it’s a different agency.

[ OPEN DIRECTORY ]

Confirm anything you find with the office that will physically accept your paperwork, and get it in writing. If you’re running for a city or town seat, that’s often your municipal clerk rather than the state.

A word on what these directories can and can’t do for you. We checked every outbound state link in both of them: most answer fine, a handful block automated checks without being broken, and at least one is genuinely dead. Ohio’s entry in both federal directories points at a hostname that no longer resolves at all, and nobody has noticed. So if a link sends you somewhere broken, search for your state’s secretary of state or state board of elections directly. The office is real even when somebody’s link isn’t. And the failure nobody can catch for you: a state can move its candidate filing section to a different page while every link on the way there still works, so finding a page is not the same as finding the current rules. Ring the office.

This page carries no dates, no signature counts and no requirements, on purpose. Every number you need for ballot access comes from your own state, and it is worth getting in writing from the person who will accept the paperwork.

Once you’re on the ballot

Work out what it takes to win the thing. The win number calculator turns your district into a vote goal and a door count, and the petition tool tells you what to collect so enough signatures survive review.

[ SEE THE TOOLS ]
[ ALL TOOLS ]

PETITION TARGET

How many signatures to collect so enough survive review, and how many people that takes.

We don’t publish what any state requires. That number comes from your Secretary of State or your local board of elections, and it’s worth getting in writing.

The requirement
The collection plan
Signatures to collect

Put the requirement in above.

The arithmetic

Everything you typed is in the address bar. Copy the link to come back to it, or send it to somebody.

◉  Nothing you type here is sent anywhere. This runs entirely in your browser; there is no server call and no analytics on these numbers. Your inputs are kept in the address bar so you can bookmark this page and send it to somebody, which also means anyone you send the link to can read them.

This is a model, not a prediction. It is only as good as the numbers you put in, and every assumption on this page is yours to change. Nothing here knows your state or your district: where a date or a requirement is set by law, get it from your Secretary of State or your local board of elections and replace ours.

The people you just counted

Those circulators are the same volunteers who’ll knock doors in October. Campaign Command keeps the list of who they are and what each of them has actually done, and tells you the week you fall off pace rather than the month after. It doesn’t count petition sheets. It counts everything that comes after them.

[ Request a Briefing ]
[ ALL TOOLS ]

PACE TRACKER

You have a goal and a deadline. This is the date you actually finish if nothing changes.

The goal
The clock
Where you finish

Fill in the goal, what you have done, and the dates.

The arithmetic

Everything you typed is in the address bar. Copy the link to come back to it, or send it to somebody.

◉  Nothing you type here is sent anywhere. This runs entirely in your browser; there is no server call and no analytics on these numbers. Your inputs are kept in the address bar so you can bookmark this page and send it to somebody, which also means anyone you send the link to can read them.

This is a model, not a prediction. It is only as good as the numbers you put in, and every assumption on this page is yours to change. Nothing here knows your state or your district: where a date or a requirement is set by law, get it from your Secretary of State or your local board of elections and replace ours.

Want this counted for you?

Campaign Command keeps this number without anybody typing it in. It knows what got knocked last night, and it tells you the week you fall off pace rather than the month after.

[ Request a Briefing ]
[ ALL TOOLS ]

CAMPAIGN TIMELINE

Your election date is the one thing on this calendar that can’t move. Everything else counts backwards from it.

The election
Your campaign
Days to election day

Put your election date in above.

From here

Everything you typed is in the address bar. Copy the link to come back to it, or send it to somebody.

◉  Nothing you type here is sent anywhere. This runs entirely in your browser; there is no server call and no analytics on these numbers. Your inputs are kept in the address bar so you can bookmark this page and send it to somebody, which also means anyone you send the link to can read them.

This is a model, not a prediction. It is only as good as the numbers you put in, and every assumption on this page is yours to change. Nothing here knows your state or your district: where a date or a requirement is set by law, get it from your Secretary of State or your local board of elections and replace ours.

Want the calendar to know what you’ve actually done?

Campaign Command runs this plan against live data. It knows which doors got knocked, whose ballot came back, and how far behind pace you are on the day you fall behind rather than the week after.

[ Request a Briefing ]
[ ALL TOOLS ]

OPEN POSTS

We build field software for people who are running out of time. Four posts open. All remote.

ELECTION DAY 2026 · T‑00 · EVERYTHING SHIPS BEFORE IT

How we work

Evidence beats opinion, and we say which one we have.
A diagnosis that cites only source code is a hypothesis, and around here you label it as one. Run the query, load the page, count the rows. Nobody loses an argument for saying “I haven’t checked that yet.”
Every mistake gets written down the day it happens.
Not to assign blame. So it can’t happen twice. Our engineering rulebook is a long list of things that already cost somebody a bad night, and each entry has to say what would stop it structurally rather than just warn the next person.
The deadline came from a statute.
November 3, 2026. Software that lands on the 4th did not land. That clarifies a lot of arguments about scope.
Small team, real doors.
The person who writes the walk-order code hears about it from the candidate who walked it that evening. There is no layer between you and whether it worked.
Remote, and honest about it.
No hub office anybody is quietly expected to show up at. In season there is travel, and on Election Day everyone is on.

Technical Support Specialist

[ OPEN ][ CLOSE ]
REMOTEFULL-TIMEON-CALL ROTATIONELECTION-DAY DUTY
You’re who picks up when a campaign manager’s voter file didn’t import the way she expected.

Campaign Command is a multi-tenant field CRM. A city council ward might be two thousand doors; a congressional district is a few hundred thousand. The problem is the same shape at both ends: every household has to be geocoded, cut into turf, and walked by somebody.

When a campaign manager calls, it’s usually because an import didn’t land the way she expected, or a walker’s packet won’t open, or a number on her dashboard doesn’t match the number in her head.

You read the failure and say what went wrong in one sentence, without a developer. Our importer refuses to deactivate more than 30% of an active roll unless somebody deliberately sets allow_large_purge. That refusal was written to be read by a human. You’re the human who reads it back to her.

What you’ll actually do

  • Onboard a campaign end to end: tenant, first manager invite, sending domain, DNS on the candidate’s own domain.
  • Triage imports across four voter-file profiles. Each one declares the columns it can’t work without, so the refusal already names the broken mapping.
  • Answer “attempted or reached?” correctly, every time. On one real turf: 96 doors, 29 attempted, 7 reached, 22 nobody home. Pick the wrong one and the re-cut packet is off by 22 houses.
  • Talk a volunteer through the paper return page while she’s standing on a porch with a clipboard.
  • Take the on-call rotation, Election Day included, with the rides board and the strike list open in front of you.
  • Keep the in-app help honest. A script checks every topic against the live router and a reading-level floor, because stale help teaches a volunteer a button that isn’t there.

What we need

  • You read SQL and a stack trace without being a developer.
  • Spreadsheets don’t rattle you. You’ll understand quickly why 0610 and 610 are the same precinct to a person and different precincts to a join, and why 3,383 voters once fell through that crack.
  • Calm and specific with somebody panicking at 6am.
  • Comfortable on a phone screen. The field app is built for one hand in daylight, 56px tap targets minimum.
  • You’ll say “I haven’t checked that yet” instead of guessing.

Nice to have

  • You’ve worked a cycle. Canvass, phone bank, ballot chase, any of it.
  • Postgres or Supabase familiarity; webhook delivery events.
  • You’ve supported a product where the customer’s deadline came from a statute.

Most support queues have a backlog. This one has a date. Everything you fix before November 3 changes a real count of doors knocked, and everything after it is archive.

Integration Engineer

[ OPEN ][ CLOSE ]
REMOTEFULL-TIMEDATA PIPELINESHIP BEFORE NOV 3
Every voter file is wrong in its own way. You own the seams.

The Secretary of State writes one apartment as 6203 MULHEARN DR #APT 203. A vendor export writes 6203 Mulhearn Dr 203. L2 writes 6203 Mulhearn Dr Apt 203. Key those raw and a single door becomes three households, three knocks, and three arguments with the candidate.

You’ll own state and vendor ingestion, the address normalization and dedup pipeline, the geocode provider chain, and outbound email and SMS. Four voter-file profiles ship today, plus mail-ballot and early-vote files. More states means more of them.

The defects here are quiet. A wrong address key resolves cleanly and nothing flags it.

What you’ll actually do

  • Own normalize_address_key and split_address. Key “Apt 17” and “Unit 17” raw and they’re separate doors; that’s 172 such groups in one district, 174 phantom households, and 174 knocks on addresses that don’t exist.
  • Harden the parsers. Parse 1735 Main St, Apt 1204 from the left and you get zip 01204, which is Pittsfield, Massachusetts. Parse from the right. It’s the only end of a US address with reliable structure.
  • Run the geocode chain: Census batch first, Geocodio for the misses at accuracy 0.8 and better, then OSM. census:Non_Exact lands outside the district 11.2% of the time against 0.05% for census:Exact, and the worst miss we’ve measured put a household 12.96 miles from its own street.
  • Close the loop with field GPS. Every knock stamps a position and an accuracy. Median pin error is about 40m; the median gap between neighbouring houses on the same side of a street is 31.3m. That arithmetic is the whole job.
  • Wire outbound. Resend with a Svix-signed webhook that fails closed when the secret is missing, and CallTools for SMS, whose inbound hook carries no signature at all. Its payload is a hint that something happened; re-fetch before you believe a word of it.
  • Hold the compliance edge. No bulk email leaves without a recipient-specific unsubscribe token. The send refuses; it doesn’t warn.

What we need

  • Postgres you’d defend in review: plpgsql, regex, RLS, a query plan you can read.
  • TypeScript, and edge functions on Deno.
  • You’ve lost a fight with address matching at least once and remember why.
  • You go to the running system before the source. A diagnosis that cites only code is a hypothesis, and we’ll ask you to label it as one.
  • You can tell a missing thing from an empty thing. A predicate that matches nothing looks exactly like no work having been done.

Nice to have

  • VAN, L2, or a state BOE export somewhere in your history.
  • Census TIGER, Geocodio, OSRM, PostGIS.
  • 10DLC registration, TCPA, carrier rejection codes.

Most integration work joins two systems that both already work. Here one side is a state agency that spelled the same precinct 610 in August and 0610 in September, and the other side is a volunteer on a porch with 40 doors left. Get the seam right and she knocks the correct one.

Customer Success Strategist

[ OPEN ][ CLOSE ]
REMOTEFULL-TIMETRAVEL IN SEASONELECTION DAY IS ALL HANDS
Measured on whether the campaign wins, not on ticket volume.

You own the account once the contract’s signed. Which means you’ve run a field program, not read about one.

You know what a good turf looks like before anybody walks it, why a canvasser quits the script around door forty, and when a universe has to stop being persuasion and start being turnout.

Campaign Command will tell a manager the truth, including when it can’t know something. It won’t tell her what to do Saturday. You will.

What you’ll actually do

  • Onboard end to end. State file in, district cut into turf, the strategy assumptions set to numbers the manager will defend, sending domain verified.
  • Read pace weekly on every account: doors knocked, supporters identified, votes banked, each against goal and against what the last seven days actually ran.
  • Start the hard conversation early. “You need 340 a day and you’re running 190” is a week-six call, not a week-ten call.
  • Re-cut turf that’s walking badly. One live turf: 96 doors, 29 attempts, 7 conversations, 22 nobody home. That’s a second pass and a phone list, not a failure.
  • Train the volunteer who won’t install anything. Printed packet, QR code on it, same voter record as the app.
  • Work their Election Day. Rides, strike list, ballots that need curing.

What we need

  • You’ve run field. A coordinated campaign, a state party program, a union local, a ballot measure.
  • You can look at a universe count and say why it’s wrong.
  • You can tell a manager she’s off pace and still have the account a month later.
  • The arithmetic doesn’t scare you. Turnout, contact rate, ID rate, doors-per-day-needed.
  • October and November belong to the job.
  • You write short. Most of this is six lines before 7am.

Nice to have

  • VAN, MiniVAN or PDI admin experience, including the parts you hated.
  • You’ve trained people who’d never knocked a door before that morning.
  • Vote-by-mail chase in a state that runs one.
  • A second language the doors in your region actually use.

Built inside a live race, and still running one. When you’re wrong you hear it that night from a walker standing on a porch, not from a survey in March.

Account Executive

[ OPEN ][ CLOSE ]
REMOTEFULL-TIMEQUOTATRAVEL IN SEASON
Selling into a market with a hard deadline inside it. A tool that lands on November 4 was worth nothing.

Campaigns buy late. The manager who should have signed in February signs in September, usually the week after the opponent’s mail hits her district.

Your job is to be the name she already trusts when that week comes, and to pull a few of those decisions forward.

This is new business. Inbound exists. It won’t make your number.

What you’ll actually do

  • Build your own pipeline off filing deadlines, candidate announcements, committee rosters and consultant client lists.
  • Run the demo yourself. Bring their district and their vote goal; thirty minutes to show the arithmetic and where the doors are.
  • Answer “we already have VAN” without reciting a feature list.
  • Sell through the multipliers. A consultant with a roster is worth more than a roster’s worth of cold calls, and so is a party committee that recommends you to everyone on its slate.
  • Structure deals for a buyer whose money arrives in lumps, three days after a fundraiser.
  • Stay in the account through Election Day. The next cycle’s sale is decided on the night of this one.

What we need

  • You’ve worked on a campaign. A race where you knocked the doors counts for more here than a presidential internship.
  • You’ve closed B2B deals with a seasonal buying pattern.
  • You know why a candidate buys in October instead of February, and you can argue her out of waiting.
  • You can be told no by somebody who hasn’t slept, and call back in three weeks anyway.
  • CRM discipline. This market is small and it remembers a dropped follow-up.
  • Travel. Candidate schools, party trainings, a committee meeting in a fire hall.

Nice to have

  • Relationships at a state or county party, a campaign committee or a consulting shop.
  • Sold or supported VAN, PDI, i360, Mobilize, NGP or Hustle.
  • Ran field yourself, so the demo isn’t a script.
  • A cycle on the vendor side, so you know how a renewal dies quietly in December.

Most software sales never produce a scoreboard. Yours does, in November, and you’ll know which of your accounts won. The product was built inside a real race, so you can sell it without adjectives.

Don’t see your post? Tell us what you’d do here and why. We read those.

[ RETURN TO BASE ]

REQUEST A BRIEFING

Tell us about the race. Someone will come back to you within one business day.

Who you are
The campaign
The race
Where you are now

We work with campaigns and organizations of any party, and we don’t take two campaigns in the same race. We don’t share or sell your information, and this form doesn’t add you to a mailing list.