The scale path
Everything I have built runs on one Postgres database, which is the right choice at this size. This is what the same system needs once it serves many tools, much larger data, and several teams.
How the data flows
Click any stage.
Runs the steps in order: A, then B, retry what failed, then C. Nothing runs on half-finished data.
Salesforce and HubSpot records, product events, ad spend and conversions. Each system still owns its own data.
Ready-made connectors copy those sources into the warehouse on a schedule, and keep working when a source changes its fields.
One place holding pipeline, spend, product usage and revenue together, so they can be compared properly instead of in a spreadsheet.
Sends the scores and segments back to the tools reps and campaigns use, so the data does something instead of only being reported on.
Scores and segments land on the record a rep opens and the audience an ad platform targets. Activity then flows back in through the connectors.
In plain language
| Tool | Purpose | What that means |
|---|---|---|
| Fivetran | Moves data into the warehouse | Salesforce, HubSpot and product data land in Snowflake without hand-written syncs. |
| Snowflake | Stores and analyses centralised data | One place where pipeline, spend and revenue can actually be joined. |
| Airflow | Schedules and coordinates pipelines | Run A, then B, retry the failures, then run C. |
| Hightouch | Sends warehouse data back to business tools | Segments and scores go back to Salesforce, ads and email, where reps and campaigns live. |