I build Android apps in Kotlin and Jetpack Compose, and I like drawing things by hand on a Canvas:
games, dials, simulations and apps that run on Android and Windows from the same code.
It grows with every commit and redraws every day (kodama).
โณ Compose Loaders
45 loading indicators in pure Jetpack Compose, with new ones every week. No Lottie files or images: each loader is one composable drawn on a Canvas, with zero allocations per frame. Screen reader labels, reduced motion that never freezes, and one config object for speed, direction and colour. Android and Compose Desktop.
implementation("com.github.zainkhalid91.compose-loaders:loaders:0.2.0") ยท Release notes and demo video
๐ NEON//ASCII
A playable, rainy cyberpunk side-scroller rendered as live ASCII art. One runtime shader turns each cell into a glyph by brightness. Compose Multiplatform, for Windows and Android.
๐งฑ Brick Breaker Retro
An arcade brick breaker with 10 levels, 10 worlds and 4 boss fights. No images, sprite sheets or game engine: every brick, ball and boss is painted in Kotlin on a Compose Canvas, with zero allocations per frame.
Prayer times with a dot matrix clock, reminders with the azan, a Hijri calendar, sunnah times, a Qibla compass and home screen widgets. In English and Arabic. Both apps share the same prayer calculation code, so they agree to the minute.
![]() |
![]() |
Android APK ยท Windows installer
โจ Anime Stickers
A fun app that adds interactive stickers to your phone screen.
| Project | What it is |
|---|---|
| Drawing App | Draw or write on a canvas with 5 pen types and any colour, plus a PDF reader with zoom and screenshots. Works on large screens |
| Compose Everything | A Jetpack Compose showcase app: Room, Navigation, MVVM, a music player and notes |
| Crypto App UI | A small crypto wallet app with animated UI, QR transfers and transaction history |
| GitHub API Client | A GitHub repo browser using Dagger Hilt, the repository pattern and clean architecture |








