Schematic · Migration engine — cascade, merge, ordered write, retry, reconcile
Two production portals, merged into one
A sales portal and a marketing portal consolidated into a single HubSpot portal, using a migration engine I built against the v3/v4 APIs — rehearsed in a sandbox before cut-over.
Node.jsExpressMongoDBHubSpot APIsReact
- ~11k
- contacts migrated
- ~25k
- emails & notes moved
- 0
- mis-associated activities
How it was built
- Cascade from seed companies, one hop out, written in dependency order so every association resolves.
- Field-level merge rules from a client-owned spreadsheet, including a dormancy cutoff.
- Owners, teams, pipelines, stages and dropdown values translated between portals.
- Rejected writes parsed and retried without the offending field — no lost batches.
- A React dashboard to start, monitor and resume runs, plus reconcile reports for the client.