Google Developer Expert for Android, failed blogger, enthusiastic public speaker, maker (and breaker) of shiny things. Kotlin aficionado, Multiplatform manipulator, prolific facilitator of cute cat photographs, spends more time travelling than working (he/him).
The State of Navigation in Kotlin Multiplatform
Navigation across mobile, desktop, and web remains a core architectural challenge. While developers once relied on platform-specific hacks, Compose Multiplatform now promises unified state management and UI consistency across targets. However, the launch of Jetpack Navigation Multiplatform has disrupted the ecosystem, challenging established community favourites like Decompose and Voyager. Choosing a tool is no longer just about routing; it dictates your entire approach to lifecycles and state. It is impressive how many distinct ways the community has invented just to move between screens without breaking application state. ...
We are all Fucked: An Android Developer’s Guide to the Post-AI Apocalypse
AI is dominating Android development, driven by hype over reality. As organizations rush chatbot syntax into production, we are left cleaning up a dumpster fire of unscalable slop. It is time to look past the echo chamber and address our real challenge: protecting codebases from automated pollution. True engineering relies on architectural rigor and knowing what not to build. This talk is not a chatbot tutorial. Instead, I will share a survival strategy for maintaining codebase integrity when non-technical actors try to treat deliberate software design like an adult colouring book, scribbling shortcuts all over your repo. ...
The Android Developer Career Path
This moderated panel brings together senior Android leaders in industry to share how agentic and intelligent tools are changing the Android developer career path. They offer real-world, on-the-ground insights about what they’re seeing in their teams and amongst their peers in the community. The second half of the session will be dedicated to audience Q&A, inviting folks to share any techniques that have worked well within their teams. You’ll leave with a clearer picture of how to adapt your skills and guide your teams. ...
The State of Navigation in Kotlin Multiplatform
While navigation across mobile, desktop, and web remains a core architectural challenge, the launch of Jetpack Navigation Multiplatform disrupted the ecosystem, challenging established community favourites like Decompose and Voyager. We’ll evaluate the current reality of multiplatform navigation, and you’ll leave with a clear framework to choose the tool that fits your codebase with the least amount of architectural regret.
We are all Fucked: An Android Developer’s Guide to the Post-AI Apocalypse
The illusion of Artificial Intelligence is dominating Android development, driven by hype over reality. As companies rush to embrace AI to save hypothetical costs, we are left cleaning up a dumpster fire of unscalable slop. Real engineering relies on the pains and learnings that we as engineers have accumulated over the years, it takes experience of failure and learnings not to figure out what to build, but what not to build. I’m not going to tell you how to use AI for your advantage, I’m not going to tell you how best to use AI tools. ...
Coding for Fun - Not Profit
A lighthearted discussion about the love of coding, the learning process, our community, and how not to lose sight of that in the light of the overwhelming push for AI dominance.
What will you be building this weekend?
I read this question today, which triggered me a little. In the context of software engineering, many of us have always had pet projects, side projects, or just whacky things we’d like to spend some time coding. Because mostly it’s kinda fun to learn new things, to play, or just practice our love of coding, trying, failing, trying again, failing in different ways. This was something that was typically invisible to the wider world. I was ok being labelled a nerd working on some project that probably had no real world application, but let me play with a new API or tech that became available. If anything this felt somehow exclusive. ...
Crafting Idiomatic APIs with Kotlin and Compose
In this talk, we’ll dive into the principles of idiomatic Kotlin and explore how they apply to designing Compose APIs. You’ll learn how to leverage Kotlin’s language features, from DSLs and inline functions to advanced type safety and composable conventions, to craft APIs that are a joy to use. By mastering these techniques, you can deliver APIs that not only “work” but truly feel like Kotlin.
Beyond the UI: Compose as a Foundation for Multiplatform Apps
In this talk, we’ll explore how Compose Multiplatform can reshape not just the user interface, but the entire architecture of your app. You’ll learn techniques for structuring state, managing business logic, and creating modular, testable, and maintainable systems across platforms. Whether you’re targeting mobile, desktop, or beyond, this session will give you the tools and perspective to design applications that exploit the efficacy of Compose.
Hype Driven Development: How I Learned to Stop Worrying and Love the Failures
Ever wondered what it would take to combine all the experimental features of a language you love (Spoilers… It’s Kotlin!) into one big bundle? I’m a lover of new and shiny stuff, so let me share with you my experience of using everything shiny, and new, in my pet project, to show you how to not do all the things you might want to do with yours! JetBrains Compose for Desktop, Unstable Coroutines APIs, version catalogues, Gradle composite builds, multiplatform navigation support, multiplatform paging, GraphQl, Firebase Cloud Functions, Molecule, Mosaic, what could go wrong?! ...