cat hubble.md

Hubble

Hubble is an easy-to-use platform to help political campaigns centralize their voters, contacts, finances, and everything else.

Started in 2019 as the database my campaign website used to store form submissions. Hubble grew into a powerhouse after a friends congressional campaign implemented it.

Feature Highlights

Data Load & Transformation Pipeline

Custom ETL pipeline for ingesting state voter files and third-party data sources. Configurable per-source field mappings drive transformation and normalization into the canonical schema, and imports are designed to be re-runnable, so refreshed voter rolls update existing records instead of creating duplicates.

Unified Person Data Model

Person, contact, and voter records are modeled around a single canonical identity with entity resolution at ingest. The schema supports voter data from multiple states, deduplicates across data sources, and enables shared records, so a canvass response, a donation, and a voter file row all resolve to the same person in every module.

Turf Cutting & Mobile Canvassing

Geospatial turf cutting partitions voter households into walkable turfs from map polygons, synced to a native iOS companion app built for offline-tolerant field work. Canvass responses flow back into the voter record.

Fundraising & Compliance

Contribution and expenditure ledger modeled around campaign finance law: itemization thresholds, donor attribution, and report generation that maps directly to what a treasurer files. Bookkeeping rigor without requiring an accountant.

Communications

Multi-channel outreach engine spanning call time queues, drag-and-drop email composition, and texting. Built on background job processing for high-volume sends, with every touch written back to the person's activity timeline.

Community Hub

Built-in campaign website with content publishing, public forms, and support for serving each campaign's site on its own custom domain. Submissions are captured through the same pipeline as every other data source and resolved into the campaign's contact records automatically.

Volunteer Management

Volunteer scheduling and coordination modeled as first-class domain objects tied to events, canvasses, and call time. One shared data model from recruitment through the doors knocked.