Whip

Not every yes is the same yes.

A whip count tracks where each office stands on a bill you are working. Apogee tags every position by how solid it is: a public statement, a direct commitment from your own call, a secondhand report, or an AI-seeded guess. The tier travels with the position, so the count never overstates what is actually known.

Free to start. Positions stay private to your account.

Built on these official sources

Congress.gov
Senate.gov
House.gov
White House
GovInfo
Federal Register
Regulations.gov
FEC
CBO
GAO
Library of Congress
Census Bureau

Every answer cites the underlying filing, hearing, or disclosure. No synthesis without a source.

Built on Claude, via Amazon Bedrock. Also plugs into ChatGPT, Gemini, and Copilot.

Covers Congress and all 50 states plus DC.

See it in action

Set a position without leaving the chat

Update a count in plain language, or click the position pill directly on the ledger. Both paths write to the same record.

Deep Thinking
Powered by Apogee Policy Graph

Every position carries a source tier

Apogee classifies a position the moment it is entered, ordered from most to least trusted. A user-entered position can always be upgraded by hand; Apogee never upgrades one for you.

1

Public statement

A floor speech, a press release, or an official position, cited to the record.

2

Direct commitment

Something a member or staffer told you directly, on a call, in a meeting, or in an email you received.

3

Secondhand

Relayed through a coalition partner or a reporter. Not witnessed firsthand.

4

AI-seeded

An inference from public signal, made when nothing else is on the record yet.

5

Speculation

An unsourced hunch, logged as exactly that instead of dressed up as more.

Count, Pulse, and History

A whip count is not a single table. Apogee renders the same ledger three ways.

Count

The roll-up and the sortable ledger, with the reasoning and the source behind every position. Filter to the rows that need attention, or sort by who was touched last.

Pulse

A read-only view of what the count is watching: the reasoning behind each row and the recent activity that has moved the ledger.

History

An append-only audit log of every move: who changed it, when, on what evidence, and whether a person or Apogee made the change.

A position you set stays set

When Apogee finds new public signal on a member, it does not replace a position entered by hand. It attaches the finding to the row as a suggestion and flags the row for a look. The original entry stays in place until a decision is made to change it.

The same rule protects a spreadsheet import. Paste a CSV or upload the file, and Apogee proposes a mapping from the existing columns to positions, resolves the names to members, and shows the result before writing anything. An import fills empty rows. It does not overwrite a position already set by hand.

Wired to the relationships already on file

A whip count reads from People, the private contact network tied to an account. Counting a member surfaces who on your side already has a relationship with that office. An interaction logged with an office can inform the position on that office, and a member being counted stays connected to the calls and meetings already on record.

See how People works →

No other platform grades the source

Bloomberg Government, FiscalNote, Quorum, Plural Policy, LegiScan, CQ Roll Call, and Politico Pro all offer some form of vote or headcount tracking. None of them tag a position by how it was obtained. A confirmed commitment and a guess look identical on a plain spreadsheet. In Apogee, they do not.

A whip count stays private to the account

Positions, notes, and the evidence behind them are scoped to one account. Apogee never shares a whip count with another user and never aggregates counts across accounts. On Teams and Enterprise plans, a teammate sees only what is explicitly placed in shared memory.

Run a count that shows its work

Free to start. Works inside the Apogee chat, no separate app to learn.