I build Android apps that feel exciting to use.
Senior Software Engineer. Seven years of Kotlin, Compose and Flutter, from a music player drawn pixel by pixel on a Canvas, to an AI chatbot with a Ktor + Supabase backend behind it.

NeoMusic · visualiser drawn per frame on a Canvas
the Canvas one is still my favourite
- Years shipping
- 7+
- Apps on Play
- 15+
- Users reached
- 200k+
- Libraries published
- 4
Nineteen projects, written up.
Case studies for the apps, libraries and client work behind the stack below.
Tech stack
Native Android
KotlinJetpack ComposeCompose CanvasMedia3RoomCoroutinesWorkManagerKoinMaterial 3JavaGradle
Cross-platform
FlutterDartCompose MultiplatformSwiftObjective-C
Backend & cloud
KtorSupabaseFirebasePostgreSQLGoogle CloudRenderVercel
Architecture
MVVMClean ArchitectureMulti-moduleOffline-firstDependency injection
Web & tools
Next.jsTailwindCSSJiraGitHub Actions
Marks in colour are daily drivers