Skip to content
HA
← All projects

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.