Campaign Engine
A modular backend for securities marketing campaigns
Campaign configuration, registered feature modules, a shared Action/View API and rules compose capabilities across campaigns while keeping published interfaces stable.
Development practice: AI agents drove much of the implementation, while API contracts, campaign isolation, and regression checks guided each iteration.
Concept visual · based on actual product capabilitiesThe context
Stable protocols and composable capabilities let campaigns evolve independently.
When multiple campaigns evolve in parallel, each needs clear configuration and a reliable execution path without disrupting published activities.
What we built
Campaign configuration, registered features, and a shared Action/View API organize runtime capabilities. Domain events, rules, and state projections handle business change.
A campaign begins by declaring capabilities
Configuration defines identity, feature modules, Actions, Views, quotas and rules. Registered Features own their resources; a new campaign first composes existing capabilities, then adds bounded extensions where needed.
- Declarative campaign configuration
- Registered Features and explicit references
- Composition across campaigns
Declare capabilities instead of copying flows.
Behavior becomes events, rules and state
Action is the shared write entry point. It produces domain events; Rules invoke Guards and Effects before state changes. Views project stable read contracts. Idempotency protects business actions on retry.
- Shared Action / View protocol
- Domain Event → Rule → State Projection
- Idempotent transactional execution
Transactions and idempotency protect every change.
Controlled operations after launch
A separate Ops control plane handles campaign availability and declared product, reward-link and schedule data. Validation and formal revisions make changes effective without redefining published APIs.
- Campaign lifecycle controls
- Product and reward operations
- Validation and revision boundaries
Architecture diagrams reflect actual system capabilities and contain no client or production data.
Next projectMarket Data Hub