A monorepo that still deploys independently
The services share a repository but not a release. Each has its own pipeline, so a change to notifications does not wait on a change to ordering. The monorepo keeps the contracts visible in one place; the separate pipelines keep the cadences apart.
Kafka where the work is reactive
Driver allocation, real-time order tracking, and notifications are all event-shaped: something happens, and several parties need to know. Kafka streaming carries all three.
Deployment
The cluster runs on AWS ECS, with Jenkins CI/CD self-hosted on EC2. Scope: helped architect the full system through to deployment.