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 |








