Works · 02

BPlayer · BTelly

Kotlin · android · tv · bilibili

A third-party Bilibili client for Android TV and car head units — unofficial and ad-free, with a dual playback core, danmaku comments and the airborne assistant, built on Kotlin + Koin.

View repository › Codeberg ›

Why I built it

The Bilibili experience on TV and in the car has long been a low point: the official clients treat remote-control and in-car interaction as an afterthought, while the ads and the feed noise stay exactly the same. I just wanted to sit on the living-room sofa, or spend that commuting hour, quietly watching the people I follow post something new. The point of a third-party client was never cracking anything — it was handing a screen that belongs to the viewer back to the viewer.

Where the difficulty lives

Where it stands

What I learned

Maintaining a project that lives on top of someone else’s API, the skill that matters is not shipping features — it is how fast you can stand back up when the API turns on you. Isolate the network layer into its own module, document the endpoint archaeology, bake attribution into the artifact instead of the docs: all of it looks like overhead on a good day, and all of it is a lifesaver on the day the API changes its face. Two banned accounts also taught me one thing: a mirror channel is not a backup ritual — it is the road you will actually end up taking.

← All works