Skip to lesson
Exit
GTM Systems Design1 / 3

1 min lesson

The architecture as components

Describe what "Give each concern exactly one owner" changes in practice.

Step 1 of 3

The architecture as components

Give each concern exactly one owner. Capture resolves identity; orchestration sequences the work; enrichment runs the provider waterfall and cache; the warehouse holds usage and scores; the CRM holds account owners, routes and rep activity; observability joins events with one trace; action sends personalized outreach idempotently. Keep one writer per field so the layers do not fight.

Learn more

Full explanation

The Stack, One Writer per Concern

THE STACK, ONE WRITER PER CONCERN

Interactive diagram. Tab through its regions; each focused region shows its detail in the panel below.

diagram: stack

Each layer rests on the one below; the warehouse and CRM own different fields and never fight over them.

From personal hack to shared asset

Two inflection points turn an internal tool from a localhost script into a cross-functional asset. The first is hosting: a usage dashboard or a Salesforce-embedded usage calculator stays a personal hack until an AE counterpart asks "can you send me a link?" - the fix is putting it on something like Vercel so anyone reaches it from a web page, with version control over how it's accessed. The second is live data: trade imported CSV snapshots for a proxy access layer or webhooks into the warehouse, so the tool shows account-360 visibility in real time. These connectivity and hosting needs sit outside Cursor-the-IDE - they're the systems-design step, and they're often the bridge from a no-code Airtable prototype to real code.

"the biggest inflection point was hosting these solutions on something like a versel... and then the kind of data connectivity as well. Make sure that's done by web hooks or proxy query connections to backend live data."