Bills & positions
Track bills — number, title, chamber, status from introduced to signed or vetoed, sponsor, subject tags — with the official's position (support, oppose, neutral, no position) and a written rationale.
Write every rationale assuming it will be quoted. It probably will be — by the press page you publish it to, by a constituent letter, by the next debate. Two paragraphs written calmly on the day of the position beat two paragraphs written defensively the night it becomes a story.
Roll-call votes
Log each vote — yea, nay, abstain, excused — with the bill, the date, an optional statement, and a per-vote public toggle. The public vote log is the office's strongest accountability surface; publish it and let the record answer.
Log votes the day they happen, statement included. A vote log with gaps reads worse than no vote log at all, and back-filling from memory in October is how offices end up correcting their own record.
Committees & hearings
Committee seats carry chamber, role — chair, vice chair, ranking member, member — and term. Hearings hold topic, date and time, location, witnesses, and staff-only notes.
A hearing's public toggle pushes it to the events feed with an iCal entry, so constituents who care about a topic can put the hearing on their own calendar. Witness lists and staff notes never travel with it.
Automatic sync
An office can opt into a daily legislative sync that pulls current bills and votes from OpenStates, so the record fills itself in instead of waiting on a staffer to transcribe the statehouse by hand. The jurisdiction defaults to the office's state; an admin can override both the jurisdiction and the legislative session in settings when the defaults do not fit.
The office record stamps when the sync last ran, and that timestamp shows on the legislative page itself — a missing or stale sync is visible right where you work, not buried in a log you would have to go hunting for. If the date looks old, you know before a constituent does.
Where-I-Stand
Every public-positioned bill and vote, grouped by subject, with rationales and statements — the page that answers “where does she stand?” before the call comes in. Flip a position public and it appears; flip it back and it's gone, with the change logged.
Set positions before the vote, not after. A position published in advance is conviction; the same position published afterward is spin, and constituents can read timestamps.
NOTE — DAY ONE
Positions the official already holds do not have to accumulate from scratch. The ones she wants public on day one can be backfilled during onboarding with NJR, so Where-I-Stand launches with a record instead of a blank page.