<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://funkymuse.github.io/</id><title>FunkyMuse</title><subtitle>Blog containing Kotlin and Android goodies.</subtitle> <updated>2025-12-27T03:32:24+01:00</updated> <author> <name>FunkyMuse</name> <uri>https://funkymuse.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://funkymuse.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://funkymuse.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2025 FunkyMuse </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Android ViewModel Data Loading: Best Practices and Flow-Based Architecture</title><link href="https://funkymuse.github.io/posts/properly-load-data/" rel="alternate" type="text/html" title="Android ViewModel Data Loading: Best Practices and Flow-Based Architecture" /><published>2025-08-29T01:11:00+02:00</published> <updated>2025-08-29T11:13:45+02:00</updated> <id>https://funkymuse.github.io/posts/properly-load-data/</id> <content type="text/html" src="https://funkymuse.github.io/posts/properly-load-data/" /> <author> <name>FunkyMuse</name> </author> <category term="Android Development" /> <category term="Architecture" /> <category term="MVVM" /> <category term="MVI" /> <summary>Architecture discussions in Android development often spark passionate debates—sometimes garnering both praise and criticism. Writing about these topics isn’t easy, but that’s what makes it worthwhile. This article presents my opinionated perspective on data loading patterns, refined through experience and recovery from recent surgeries (one recovery is still in progress). Consider this a sna...</summary> </entry> <entry><title>My Android PR Review Philosophy; 7 Years of Mobile Development Insights</title><link href="https://funkymuse.github.io/posts/pr-philosophy-7-ys/" rel="alternate" type="text/html" title="My Android PR Review Philosophy; 7 Years of Mobile Development Insights" /><published>2025-06-13T23:50:00+02:00</published> <updated>2025-06-13T23:50:00+02:00</updated> <id>https://funkymuse.github.io/posts/pr-philosophy-7-ys/</id> <content type="text/html" src="https://funkymuse.github.io/posts/pr-philosophy-7-ys/" /> <author> <name>FunkyMuse</name> </author> <category term="Development" /> <category term="Code Review" /> <summary>After seven years building Android apps, two of which spent leading engineering teams, i’ve learned that good code reviews can make or break a project, maybe not break it dramatically but throw a punch that can put a crack into it. Whether i’m reviewing contributions to code i maintain, evaluating team members during promotion cycles, or just trying to keep our production apps from crashing, i...</summary> </entry> <entry><title>Achieving Type-safe Navigation Results in AndroidX Compose for KMP</title><link href="https://funkymuse.github.io/posts/kmp-type-safe-nav-callback/" rel="alternate" type="text/html" title="Achieving Type-safe Navigation Results in AndroidX Compose for KMP" /><published>2024-11-18T06:10:00+01:00</published> <updated>2024-11-18T06:10:00+01:00</updated> <id>https://funkymuse.github.io/posts/kmp-type-safe-nav-callback/</id> <content type="text/html" src="https://funkymuse.github.io/posts/kmp-type-safe-nav-callback/" /> <author> <name>FunkyMuse</name> </author> <category term="Kotlin" /> <category term="KMP" /> <category term="Compose Multiplatform" /> <category term="Navigation" /> <summary>The Quest for Perfect Navigation in Compose Multiplatform Navigation in Kotlin Multiplatform (KMP) applications, especially those using Compose Multiplatform, presents an interesting challenge. While the ecosystem offers several excellent libraries (such as Voyager, Decompose, and Precompose), I consistently find myself returning to Google’s AndroidX Navigation. Its elegant API design and fl...</summary> </entry> <entry><title>KMP (Kotlin Multiplatform) AndroidX Room setup and more</title><link href="https://funkymuse.github.io/posts/kmp-room-setup/" rel="alternate" type="text/html" title="KMP (Kotlin Multiplatform) AndroidX Room setup and more" /><published>2024-09-11T00:01:00+02:00</published> <updated>2024-09-11T00:01:00+02:00</updated> <id>https://funkymuse.github.io/posts/kmp-room-setup/</id> <content type="text/html" src="https://funkymuse.github.io/posts/kmp-room-setup/" /> <author> <name>FunkyMuse</name> </author> <category term="Kotlin" /> <category term="KMP" /> <summary>Intro Kotlin Multiplatform (KMP) enables you to share code across various platforms such as Android, iOS, and JVM. Managing local data consistently across these platforms can be challenging. AndroidX Room, primarily used in Android development, can be integrated into a KMP project to handle local databases, providing a unified approach to data management. For some of us Android developers, t...</summary> </entry> <entry><title>KMP (Kotlin Multiplatform) multi module resources</title><link href="https://funkymuse.github.io/posts/kmp-multi-module-resources/" rel="alternate" type="text/html" title="KMP (Kotlin Multiplatform) multi module resources" /><published>2024-05-16T22:20:00+02:00</published> <updated>2024-05-17T09:15:26+02:00</updated> <id>https://funkymuse.github.io/posts/kmp-multi-module-resources/</id> <content type="text/html" src="https://funkymuse.github.io/posts/kmp-multi-module-resources/" /> <author> <name>FunkyMuse</name> </author> <category term="Kotlin" /> <category term="KMP" /> <summary>Intro Every mobile application today ships with static resources like localized strings, images, files, fonts, etc. Resource usage in the KMP (Kotlin Multiplatform) world has been somewhat limited, with no official support until now. Previously, some of you might have used Lyrcist, which had its flaws, such as placing strings inside a data class. A better alternative was Moko resources, b...</summary> </entry> </feed>
