<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Compose on Ash Davies</title>
    <link>https://ashdavies.dev/tags/compose/</link>
    <description>Recent content in Compose on Ash Davies</description>
    <generator>Hugo -- 0.150.1</generator>
    <language>en</language>
    <lastBuildDate>Wed, 25 Feb 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://ashdavies.dev/tags/compose/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Crafting Idiomatic APIs with Kotlin and Compose</title>
      <link>https://ashdavies.dev/talks/crafting-idiomatic-apis-berlindroid/</link>
      <pubDate>Wed, 25 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://ashdavies.dev/talks/crafting-idiomatic-apis-berlindroid/</guid>
      <description>&lt;p&gt;In this talk, we’ll dive into the principles of idiomatic Kotlin and explore how they apply to designing Compose APIs.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;By mastering these techniques, you can deliver APIs that not only “work” but truly feel like Kotlin.&lt;/p&gt;
&lt;hr&gt;
&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;3169f63fd6144ad58330cda7bb6f6e95&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;</description>
    </item>
    <item>
      <title>Beyond the UI: Compose as a Foundation for Multiplatform Apps</title>
      <link>https://ashdavies.dev/talks/beyond-the-ui-london/</link>
      <pubDate>Thu, 30 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://ashdavies.dev/talks/beyond-the-ui-london/</guid>
      <description>&lt;p&gt;In this talk, we’ll explore how Compose Multiplatform can reshape not just the user interface, but the entire architecture of your app.&lt;/p&gt;
&lt;p&gt;You’ll learn techniques for structuring state, managing business logic, and creating modular, testable, and maintainable systems across platforms.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;hr&gt;
&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;c5326fe5ac654cb7a8ff620c1b286d28&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;

&lt;hr&gt;
&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube-nocookie.com/embed/vqke-uTp5YU?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;</description>
    </item>
    <item>
      <title>Crafting Idiomatic APIs with Kotlin and Compose</title>
      <link>https://ashdavies.dev/talks/crafting-idiomatic-apis-berlin/</link>
      <pubDate>Wed, 24 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://ashdavies.dev/talks/crafting-idiomatic-apis-berlin/</guid>
      <description>&lt;p&gt;What’s in a language? What does it mean to be idiomatic? Writing clean, intuitive APIs isn’t just about functionality — it’s about designing interfaces that feel natural and intuitive. With Kotlin and Compose, we have a powerful set of tools and syntax that, when used effectively, can reduce cognitive load and make your APIs both elegant and expressive.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Beyond the UI: Compose as a Foundation for Multiplatform Apps</title>
      <link>https://ashdavies.dev/talks/beyond-the-ui-berlin/</link>
      <pubDate>Wed, 30 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://ashdavies.dev/talks/beyond-the-ui-berlin/</guid>
      <description>&lt;p&gt;In this talk, we’ll explore how Compose Multiplatform can reshape not just the user interface, but the entire architecture of your app.&lt;/p&gt;
&lt;p&gt;You’ll learn techniques for structuring state, managing business logic, and creating modular, testable, and maintainable systems across platforms.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;hr&gt;
&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;adb36581d37a40438e89dbf30e5b4f89&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;</description>
    </item>
    <item>
      <title>Beyond the UI: Compose as a Foundation for Multiplatform Apps</title>
      <link>https://ashdavies.dev/talks/beyond-the-ui-prague/</link>
      <pubDate>Tue, 03 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://ashdavies.dev/talks/beyond-the-ui-prague/</guid>
      <description>&lt;p&gt;Much in the same way that Coroutines revolutionized reactive architecture, Compose challenges us to rethink how we design applications.&lt;/p&gt;
&lt;p&gt;While traditionally seen as a UI toolkit, Compose — and specifically Compose Multiplatform — can play a much larger role in our applications.&lt;/p&gt;
&lt;p&gt;By leveraging its declarative and state-driven nature, we can build, model, and manage application state in a way that is consistent, scalable, and platform-agnostic.&lt;/p&gt;
&lt;hr&gt;
&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube-nocookie.com/embed/iJNOfTxNniQ?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;hr&gt;
&lt;script async class=&#34;speakerdeck-embed&#34; data-id=&#34;bf27dbed12da4d71a030d813de1c8d5d&#34; data-ratio=&#34;1.77777777777778&#34; src=&#34;//speakerdeck.com/assets/embed.js&#34;&gt;&lt;/script&gt;</description>
    </item>
  </channel>
</rss>
