I mostly write KMP libraries and aim for zero expect/actuals, so you get
commonMain code that runs the same on every platform.
I use AI tools to automate most of my work. I review their output carefully, so the quality matches what I would write by hand.
![]() Synkplay Watch videos in sync with friends on Android and iOS. Anyone on a computer can join the same room with Syncplay. |
|
KitePDF Read, create, edit, and display PDFs, and open EPUB books. It is pure Kotlin, so the same code runs on Android, iOS, desktop, and the web. |
|
KitePlayer + KiteFFmpeg KiteFFmpeg adds FFmpeg to your project as one Gradle dependency, with no NDK and nothing to install. Use it to convert, trim, and transcode video and audio. KitePlayer is a media player built on KiteFFmpeg. Its core is 100% Kotlin, so it plays the same on every platform. It supports subtitles, live streams, and hardware decoding. |
![]() KiteConfig Set your app name, icon, version, and IDs once, in one Gradle block. Android, iOS, and desktop all read from it, so they never drift apart. |
| ImageKodec | ArchiveKodec | AudioKodec |
|---|
| Library | Purpose |
|---|---|
| KiteJS | Run JavaScript from shared code, with Rhino or QuickJS behind one API. |
| KiteCore | The small helpers every project rewrites, like String.format() and Dispatchers.IO in commonMain. |
| Kite3D | 3D math: vectors, matrices, quaternions, and bounding volumes, with the same API as three.js. |
| libmpvKt | The mpv player engine for Android, prebuilt, with a typed Kotlin API. |
| Library | Purpose |
|---|---|
| KiteQR | Scan and create QR codes and barcodes. |
| KiteSynth | A synthesizer: it reads a SoundFont, takes MIDI notes, and turns them into sound. |
| KiteRT | Real-time audio output. Your code makes the samples, and KiteRT sends them to the speakers. |
| KiteMIDI | Read and write MIDI files, and talk to real instruments over USB and Bluetooth. |
| KiteTorrent | Download and seed torrents from shared code: magnet links, encryption, peer discovery. |






