Hello everyone, the Fread project has been in development for two and a half years, and it has been live for eight months now. With the project reaching a stable state, we’ve decided to open-source it under the Apache 2.0 license.

https://github.com/0xZhangKe/Fread

Fread is a decentralized Fediverse microblogging social client that currently supports three protocols: Mastodon, Bluesky, and RSS. This means you can use all three platforms within the same app. Fread not only provides a consistent microblogging experience across these platforms but also retains the platform-specific features.
More importantly, Fread allows you to create a unified feed containing streams from all three platforms, breaking down protocol barriers and further enhancing decentralization. Additionally, Fread focuses on delivering a visually appealing and comfortable UI/UX experience.

First, let me introduce the tech stack of Fread.

Fread is a mobile client application built using KMP (Kotlin Multiplatform) and CMP (Compose Multiplatform), and therefore the primary programming language is Kotlin. The tech stack is entirely Kotlin-centric and includes the following key components:

The libraries listed above are just the key dependencies that define the tech stack of Fread. Of course, there are many other dependencies that are not explicitly listed here, but this provides a general understanding of the technologies used.

Why Open Source Now?

The decision to open source Fread was influenced by several factors. Early on, I was undecided about whether to charge for the app or offer it as a free trial. However, just one week after launch, I switched to a completely free download model. At the time, the private repository contained sensitive data, which made me hesitant to open source it due to potential data leaks. These issues have since been resolved.

Another reason was the challenge of handling external contributions (e.g., pull requests) after open-sourcing the project. This could disrupt the development rhythm. But now, with the project stabilized — especially after recently adding support for Bluesky — we felt it was the right time to make the project open source.

Closing Thoughts

For more technical details about Fread, feel free to explore the source code. In the future, I may publish more blog posts diving into the design and technical details behind Fread.

https://play.google.com/store/apps/details?id=com.zhangke.fread