Against the Grain

Saša Jurić


This talk tells the story of developing a bespoke Kafka client. None of the existing libraries in the BEAM ecosystem fulfilled the needs of the team, and it was estimated that contributing new changes to those projects would be very difficult. At the same time, writing and maintaining a client from scratch would require a lot of time, much more than the team could afford.

So what can we do in such situation? Join me and find out how by making some atypical choices we got ourselves out of a tricky situation.


  • question the established practices and think about whether they make sense in your context
  • overcome the deficiencies in the BEAM ecosystem

AUDIENCE: This talk is fairly technical, and assumes that the audience is familiar with some BEAM language, especially with its concurrency model. The code snippets will be given in Elixir. No knowledge of Kafka is required.

Introductory and overview