$ Dispatch · Tech Stack
What’s real, source-driven Salesforce DX, versus what’s configured only through the Setup UI.
## TECH_STACK
| Layer | Choice | Why |
|---|---|---|
| Platform | Salesforce DX, Apex | Apex only runs inside Salesforce — there’s no question of whether this belongs in this site’s shared Python api/. Every object, field, class, and component is real, hand-authored source in this repo, deployed via sf project deploy start — not configuration that only exists by clicking through Setup. |
| Portal | Experience Cloud, Partner Community | Real, free, unused Partner Community licenses confirmed directly in the Developer Edition org — a genuine external-user login, not a Guest User workaround. The Experience Cloud site itself is configured through Setup, the way Experience Cloud sites are — not source-driven. |
| AI callout | Named Credential → Anthropic API | The current recommended Salesforce pattern for a secure external callout — avoids the anti-pattern of a key sitting in a Custom Metadata Type field in plaintext. The Named Credential itself is Setup-UI configuration; the Apex code that calls it is git-tracked source. |
