Franz – A desktop client for Apache Kafka
This is the source code to Franz, a native desktop client for Apache Kafka I've been working on for the past ~three years or so. Around 2021, I started using Kafka at a startup and I didn't like any of the clients that were available at the time, so I decided to build my own in my spare time[1]. I wanted a solid native experience on the Mac that wasn't web based and didn't require any Docker containers to run. A few months ago, I decided to make the code source-available[2] in part because I like the idea of my users being able to see the code they're running and in part because I want to…
In plain words
Franz is a native desktop client for Apache Kafka that runs on Mac without requiring web browsers or Docker containers. Built over three years by a developer frustrated with existing options, it combines a Racket backend with a Swift and Cocoa frontend that communicate through pipes. The application is source-available, allowing users to inspect the code and demonstrating that serious applications can be built with Racket. It is designed for developers and engineers working with Kafka who prefer a native desktop experience.
written from the facts on this page · September 2026
From the sources
In the maker’s words, at launch
This is the source code to Franz, a native desktop client for Apache Kafka I've been working on for the past ~three years or so. Around 2021, I started using Kafka at a startup and I didn't like any of the clients that were available at the time, so I decided to build my own in my spare time[1]. I wanted a solid native experience on the Mac that wasn't web based and didn't require any Docker containers to run. A few months ago, I decided to make the code source-available[2] in part because I like the idea of my users being able to see the code they're running and in part because I want to showcase that one can build serious applications with Racket. The app also has a somewhat unusual architecture: the "backend" (the "core" folder) is written in Racket, the Mac "frontend" (the "FranzCocoa" folder) is Swift + Cocoa/SwiftUI[3, 4], and the two sides communicate over pipes. The Windows and Linux versions (the "FranzCross" folder) reuse the Racket core and implement the frontend using a wrapper around Racket's cross-platform GUI toolkit[5, 6]. My goal is to eventually port the frontend for the latter two platforms to use their native toolkits directly as well (see [3] for some more details re. Windows). Happy to answer any questions! [1]: https://defn.io/2022/11/20/ann-franz/ [2]: https://defn.io/2023/08/10/ann-franz-source-available/ [3]: https://defn.io/2023/03/19/racketfest-talk-2023/ [4]: https://defn.io/2022/08/21/swiftui-plus-racket-screencast/ [5]: https://defn.io/2021/11/07/racketcon-talk-2021/ [6]: https://arxiv.org/abs/2308.16024v1
More dev tools this month
the category →



Open-source GTM skills for technical founders
Dev tools · 29d ago · gtmcofounder.com

OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.
Dev tools · 1d ago · opentrailpaper.com

Launched alongside, February 2024
the whole month →


MarketingIdeas.com▲1,230Never run out of marketing ideas ever again
Growth · 2024 · marketingideas.com

