Kotlin
Tebeo
Android comic reader, video player, and book reader that plays straight off the NAS and clouds without importing: WebDAV, SMB 2/3, SFTP, S3, OPDS, and Rclone Crypt, with Cast/DLNA streaming.
What it solves
Born from two gaps in the reader I used: no WebDAV support and no way to delete from the viewer. It evolved into a complete media suite: range-based streaming without full downloads (ZIP, CBZ, CB7, PDF, EPUB), video playback (H.265/4K, PGS/ASS subtitles, PiP, background audio), text EPUB reader with background TTS, background multi-storage transfers, local/SD trash bin, and image filters (GPU + Lanczos-3).
Stack
- Kotlin
- Jetpack Compose
- Media3 ExoPlayer
- Room
- Coil 3
- Rclone Crypt
- WebDAV / SMB / SFTP / S3
- Google Cast & DLNA
Infra
Multi-module Gradle with Kotlin and Compose (minSdk 26, targetSdk 36) built under Spec-Driven Development (SDD). Single StorageProvider abstraction, Coil 3 with telephoto, embedded local HTTP server for Chromecast/DLNA casting, and native Rclone daemon with ephemeral RAM-only key unlocking and Android Keystore (AES-GCM). Sideload distribution (signed Split APKs) on GitHub Releases due to MANAGE_EXTERNAL_STORAGE restrictions.