Creek is an opinionated way of quickly building and testing an ecosystem of interconnected microservices. While currently very much Kafka focused, its is built from the group up to be extendable.

  Get Started


The best way to get help or get in touch is to start a discussion on GitHub. If unsure which Creek repository to start the discussion under, use creek-service

Creek Story

While working with a stealth startup, building a cloud based financial platform that leveraged the power of Kafka and Kafka Streams containerised microservices, two things quickly became apparent.

First, developers were spending a lot of time writing boilerplate code and dealing with low-level details when creating new services or extending existing ones, often more time than they spent writing the business logic of the service.

Second, developers were either relying on just unit testing, or where having to cobble together handwritten functional tests that span up Docker contains for external services, such as Kafka brokers. These functional tests did not test specific classes, not the Docker container images the build spat out, and certainly not multiple services working together.

There had to be a better way!

Creek was born to provide a better way of quickly building and testing containerised Kafka Streams based microservices.

What’s with the name?

Being originally focused on Kafka Streams based microservices… a creek is a small stream; ‘small’ gives us ‘micro(service)’; giving us and streams based microservice. Ta da!

Creek Service is designed, developed, and maintained by Andrew Coates.