This document discusses using Apache Kafka to build a message bus for aggregating activity information from various services and enabling communication between services. It outlines the challenges of needing a way to aggregate activity data and needing a messaging backbone. It then explains how Apache Kafka provides a scalable, durable, distributed solution as a publish-subscribe messaging system to address these needs. Key features of Kafka like speed, scalability, durability and distributed design are highlighted. An example setup and usage with Ruby is also briefly described.