Case Study ยท Platform Architecture
Built a custom Substack publishing platform around a CMS event pipeline
This case covers a Rust monorepo platform that ingests Directus CMS events, processes them through queued workers, and executes automated publishing flows through a custom Substack integration when official API coverage is limited.
Challenge
- Editorial and publishing workflows needed reliable automation across CMS content lifecycle events.
- Substack operations required custom integration logic because official API support was limited for needed flows.
- The system had to preserve determinism and observability across asynchronous event processing.
Implementation
- Built a custom Substack client/integration layer for publish-oriented automation paths.
- Typed Directus webhook events by collection/operation and routed them into queue-backed processing.
- Structured a 13-crate Rust workspace across libs, services, and tools to keep boundaries explicit.
- Used Axum services and worker processing to run end-to-end automation chains from trigger to publish.
Outcomes
- Replaced manual handoff-heavy publishing work with deterministic event-driven automation.
- Created a reusable platform foundation for additional CMS-triggered automation chains.
- Established a clear hardening roadmap through architecture review of reliability and CI/security gaps.
Stack and ownership
- Rust
- Axum
- Directus webhooks
- Queue workers
- Substack custom integration
- Monorepo architecture