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.

Open live lab operations viewBack to all case studies

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