<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Daniel Imbert</title>
    <description>The latest articles on DEV Community by Daniel Imbert (@danielitocode).</description>
    <link>https://dev.to/danielitocode</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3232449%2F7199e78c-6899-49f0-88c4-9cffa1fee7f8.jpeg</url>
      <title>DEV Community: Daniel Imbert</title>
      <link>https://dev.to/danielitocode</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/danielitocode"/>
    <language>en</language>
    <item>
      <title>Bringing the Jetpack Compose Mental Model to the Web: Introducing Compose-Svelted</title>
      <dc:creator>Daniel Imbert</dc:creator>
      <pubDate>Sun, 11 Jan 2026 17:07:41 +0000</pubDate>
      <link>https://dev.to/danielitocode/bringing-the-jetpack-compose-mental-model-to-the-web-introducing-compose-svelted-1o0</link>
      <guid>https://dev.to/danielitocode/bringing-the-jetpack-compose-mental-model-to-the-web-introducing-compose-svelted-1o0</guid>
      <description>&lt;p&gt;Hey everyone! I'm Daniel, the developer behind compose-svelted, an experimental UI framework that brings the Jetpack Compose development experience to Svelte and the web. Today I want to share the journey, philosophy, and technical decisions behind this project.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Problem: Why I Built This
&lt;/h3&gt;

&lt;p&gt;As an Android developer who's worked extensively with Jetpack Compose, I fell in love with its declarative, predictable approach to building UIs. When I started exploring web development, I found myself constantly frustrated by CSS's implicit behaviors, global side effects, and the general unpredictability of traditional web layout systems.&lt;/p&gt;

&lt;p&gt;I kept thinking: "&lt;em&gt;What if we could bring Compose's mental model to the web?&lt;/em&gt;" Not just as another Material Design component library, but as a fundamental shift in how we think about web UI composition.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Vision: Compose Philosophy on the Web
&lt;/h3&gt;

&lt;p&gt;compose-svelted isn't about copying Compose line-for-line. It's about capturing the core principles that make Compose such a productive framework:&lt;/p&gt;

&lt;h4&gt;
  
  
  1. UI as a Function of State
&lt;/h4&gt;

&lt;p&gt;Every component in compose-svelted is a pure function of its state. No hidden side effects, no mysterious context propagation you can't trace.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Immutable, Chainable Modifiers
&lt;/h4&gt;

&lt;p&gt;Instead of writing CSS rules that might conflict or have unexpected cascading effects, you describe your UI's appearance through immutable modifiers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight svelte"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;Column&lt;/span&gt; 
  &lt;span class="na"&gt;modifier=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;Modifier&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;fillMaxWidth&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;background&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;Theme&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;colors&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;surface&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;clip&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;RoundedCornerShape&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;Text&lt;/span&gt; &lt;span class="na"&gt;text=&lt;/span&gt;&lt;span class="s"&gt;"Hello Compose-Svelted!"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/Column&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  3. Layout as Composition, Not Magic
&lt;/h4&gt;

&lt;p&gt;Traditional CSS often feels like a black box. compose-svelted makes layout explicit and predictable. &lt;code&gt;Column&lt;/code&gt;, &lt;code&gt;Row&lt;/code&gt;, and &lt;code&gt;Box&lt;/code&gt; components behave exactly as you'd expect from their Compose counterparts.&lt;/p&gt;

&lt;h4&gt;
  
  
  4. Navigation as State
&lt;/h4&gt;

&lt;p&gt;Why should navigation be this separate, router-driven concern? In compose-svelted, navigation is just another piece of state you manage:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;navController&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useNavController&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="c1"&gt;// Navigate to a screen&lt;/span&gt;
&lt;span class="nx"&gt;navController&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;navigateTo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;profile&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Handle back navigation naturally&lt;/span&gt;
&lt;span class="nx"&gt;navController&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;popBackStack&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Technical Architecture: Why Svelte?
&lt;/h3&gt;

&lt;p&gt;You might be wondering: "Why build this on Svelte instead of React or Solid?"&lt;/p&gt;

&lt;p&gt;The answer is in Svelte's compiler-based approach. Like Compose, Svelte eliminates the virtual DOM overhead and provides fine-grained reactivity. This creates a natural alignment with Compose's philosophy of predictable, efficient UI updates.&lt;/p&gt;

&lt;h4&gt;
  
  
  What compose-svelted adds to Svelte:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;A Compose-inspired component API&lt;/li&gt;
&lt;li&gt;Immutable modifier system&lt;/li&gt;
&lt;li&gt;Structural motion animations&lt;/li&gt;
&lt;li&gt;Declarative navigation system&lt;/li&gt;
&lt;li&gt;Theme system with Material-like tokens&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Current Status: Alpha but Ambitious
&lt;/h3&gt;

&lt;p&gt;We're currently in Alpha, but here's what's already working:&lt;/p&gt;

&lt;h4&gt;
  
  
  ✅ Core V1 - Complete
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Layout components (&lt;code&gt;Column&lt;/code&gt;, &lt;code&gt;Row&lt;/code&gt;, &lt;code&gt;Box&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Immutable modifier system&lt;/li&gt;
&lt;li&gt;Shape system (&lt;code&gt;RectangleShape&lt;/code&gt;, &lt;code&gt;RoundedCornerShape&lt;/code&gt;, &lt;code&gt;CircleShape&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Theme system with color, typography, and elevation tokens&lt;/li&gt;
&lt;li&gt;Basic components (&lt;code&gt;Text&lt;/code&gt;, &lt;code&gt;TextField&lt;/code&gt;, &lt;code&gt;Button&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  ✅ Core V2 - Complete
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Structural motion (&lt;code&gt;AnimatedVisibility&lt;/code&gt;, &lt;code&gt;AnimatedContent&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Declarative animations&lt;/li&gt;
&lt;li&gt;Navigation system (&lt;code&gt;NavController&lt;/code&gt;, &lt;code&gt;NavHost&lt;/code&gt;, &lt;code&gt;backstack&lt;/code&gt; &lt;code&gt;management&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Cross-fade and slide transitions&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  🚧 Core V3 - In Planning
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Nested navigation graphs&lt;/li&gt;
&lt;li&gt;Directional transitions (slide in/out based on navigation direction)&lt;/li&gt;
&lt;li&gt;Shared element transitions&lt;/li&gt;
&lt;li&gt;More advanced gesture support&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Innovation: What Makes This Different
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;No Virtual DOM Abstraction:&lt;/strong&gt; We work with Svelte's reactivity, not against it&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Motion as Structure:&lt;/strong&gt; Animations aren't afterthoughts—they're part of your component's structure&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No Global CSS Side Effects:&lt;/strong&gt; Everything is scoped and predictable&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Perfect for Android Devs Learning Web:&lt;/strong&gt; The learning curve becomes a gentle slope instead of a wall&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Challenges and Lessons
&lt;/h3&gt;

&lt;p&gt;Building this hasn't been easy. Some of the biggest challenges:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Mapping Compose Concepts to Web:&lt;/strong&gt; Some Compose features don't have direct web equivalents&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance with Modifiers:&lt;/strong&gt; Ensuring our modifier chain doesn't create unnecessary re-renders&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bundle Size:&lt;/strong&gt; Keeping it lean while providing meaningful functionality&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Documentation:&lt;/strong&gt; Making it accessible to both web and Android developers&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Example:&lt;/strong&gt; Building a Simple Card
&lt;/h3&gt;

&lt;p&gt;Here's what it looks like to build a card component:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight svelte"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"ts"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Column&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Modifier&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;RoundedCornerShape&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;compose-svelted&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Theme&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;compose-svelted/theme&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;onAction&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;void&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;Column&lt;/span&gt; 
  &lt;span class="na"&gt;modifier=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;Modifier&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;fillMaxWidth&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;24&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;background&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;Theme&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;colors&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;surface&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;clip&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;RoundedCornerShape&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;elevation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;Text&lt;/span&gt; 
    &lt;span class="na"&gt;text=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; 
    &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;Theme&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;typography&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;h6&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="na"&gt;modifier=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;Modifier&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;bottom&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
  &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;Text&lt;/span&gt; 
    &lt;span class="na"&gt;text=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;description&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;Theme&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;typography&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="na"&gt;modifier=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;Modifier&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;bottom&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
  &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;Button&lt;/span&gt; 
    &lt;span class="na"&gt;text=&lt;/span&gt;&lt;span class="s"&gt;"Learn More"&lt;/span&gt;
    &lt;span class="na"&gt;onClick=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;onAction&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="na"&gt;modifier=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;Modifier&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;align&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;horizontal&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;end&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
  &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/Column&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Try It Out!
&lt;/h3&gt;

&lt;p&gt;The project is &lt;a href="https://github.com/danielitoCode/compose_svelted" rel="noopener noreferrer"&gt;open source on GitHub&lt;/a&gt;, and I'd love for you to try it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm create compose-svelted@latest

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or check out the examples in the repository to see more complex implementations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Looking Forward
&lt;/h3&gt;

&lt;p&gt;This project is my attempt to bridge two worlds I love: Android's modern UI development and the web's ubiquity. Whether you're an Android developer curious about the web, or a web developer interested in declarative UI patterns, I hope compose-svelted provides a fresh perspective.&lt;/p&gt;

&lt;p&gt;I'm particularly looking for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Feedback from Android developers trying web development&lt;/li&gt;
&lt;li&gt;Contributions to expand the component set&lt;/li&gt;
&lt;li&gt;Real-world use cases to guide development&lt;/li&gt;
&lt;li&gt;Help with documentation and examples&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Have you tried bringing patterns from one platform to another? What challenges did you face? I'd love to hear your thoughts and experiences in the comments!&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Compose-svelted is an experimental project. APIs may change as we learn what works best for the web platform. MIT Licensed.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>svelte</category>
    </item>
  </channel>
</rss>
