People are the elected officials and candidates you're tracking. Each person can have one campaign account (hard money) plus any number of associated political committees. Use the Committees sub-tab to add an unassociated committee that you'll link manually.
Committees are political committees (PCs, ECOs, federal/state PACs) tied to people you track. A committee can be linked to one or more people. Identified by shows whether you confirmed the linkage (user) or it was discovered through research (auto).
Contributions Log stores every contribution received by any tracked campaign account or committee. Filter to slice by recipient, donor, or date. Source flag distinguishes scraped/imported records from manual entries.
Donor Lookup aggregates all contributions across all tracked recipients by donor name. Useful for "how much has X given in total" and "who has X given to."
Reporting Calendar tracks the next contribution-report due date for each campaign account and committee. Calls to scrape/refresh should be queued around these deadlines.
Giving Goals
P3 Giving Log
Member Requests
Dashboard
Goals set the target giving from P3's universe (you + the firm + clients) to each member, split between campaign account and committee. Fulfillment is computed from the P3 Giving Log.
P3 Giving Log records every contribution from you (Eric), P3 Management (firm), or a client. Tag the source and (for clients) which client. Optionally link to a member request to mark it fulfilled.
Member Requests logs an ask from a member or their team. Track who asked, the amount, the bucket, the deadline, and whether we delivered. Link fulfilled giving entries here.
Goals vs. Actuals — Current Cycle
Open Requests
Top P3 Recipients (this cycle)
Municipalities (7 tracked)
Add, rename, or remove the municipalities this artifact tracks. Each Person belongs to one municipality.
Clients
Clients are used when logging giving sourced from a client check or a client-raised contribution.
Election Cycles
Used to scope Goals and Dashboard. Default is "2026 cycle" — edit as needed.
Data & Storage
Data is stored in the browser (localStorage) and survives reloads. Export to JSON to keep a versioned backup or move between devices. Records: