PinnedPublished inProAndroidDevGoogle Just Gave Android Developers Superpowers — Here’s How I’m Using ThemThis is the start of a multi-part series where I explore Google’s new GenAI features in ML Kit by building a real Android app from scratch…Jul 16Jul 16
Published inProAndroidDevUpload a Photo, Get a Caption. Google’s On-Device AI Is Getting Crazy Good 📸This is Part 4 of a series of articles where I explain how to implement GenAI on Android. [Click here to view the full series.]Aug 30A response icon1Aug 30A response icon1
Published inKotlinBytesClean Architecture Secrets: The One Rule That Stops Your Code Turning Into SpaghettiToday I explore use cases, domain services, and other important aspects of clean architecture. I’m sure you’ll find this article…Aug 27Aug 27
Published inKotlinBytesWhat the sourceSets { ... } is Going On?! Kotlin Multiplatform Explained SimplyYes, I know it’s 2025 and the current Kotlin version is 2.2.10 — but if you work with legacy projects, you’ll eventually run into some of…Aug 20Aug 20
Published inProAndroidDevI Built a Button That Rewrites Text in Any Tone. Now My App Sounds Like a CEO! 😎This is Part 3 of a series of articles where I explain how to implement GenAI on Android. [Click here to view the full series.]Aug 5Aug 5
Published inProAndroidDevGoogle’s AI Just Proofread My Writing Better Than I Ever Could 🤯After building the summarisation feature in SmartWriter, integrating proofreading was incredibly fast — I reused almost all the same logic…Jul 25A response icon1Jul 25A response icon1
Published inProAndroidDevThis One Line of Code Made My Android App Summarise Anything Instantly 😱I thought on-device AI was still a distant dream — until I plugged ML Kit’s new GenAI summarisation API into my side-project, SmartWriter…Jul 16A response icon1Jul 16A response icon1
Published inKotlinBytesAn Introduction to Multi-Caret Editing in IntelliJHello there! Are you ready to elevate your coding efficiency with one of IntelliJ’s most powerful features? Today, we’re exploring…Apr 24, 2024Apr 24, 2024
Published inKotlinBytesKotlin Generics UnleashedGenerics enrich Kotlin by allowing for flexible, reusable code that is tightly type-checked at compile time. This deep dive aims to unravel…Mar 27, 2024A response icon1Mar 27, 2024A response icon1
Published inKotlinBytes“Yield” That Kotlin Coroutine: Enhance Your Concurrency SkillsAs developers venture into the realm of asynchronous programming in Kotlin, mastering coroutines becomes an essential skill. Among the…Mar 22, 2024Mar 22, 2024