<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/the-challenge-of-adding-a-web-target-to-droidconkotlin-bru1erm2y" -->

---
title: The challenge of adding a Web target to DroidconKotlin
description: Adding web browser support to the DroidconKotlin Kotlin Multiplatform sample app presented several challenges. Key hurdles included waiting for SQLDelight to...
canonical: https://daily.dev/posts/the-challenge-of-adding-a-web-target-to-droidconkotlin-bru1erm2y
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: The challenge of adding a Web target to DroidconKotlin | daily.dev
og:description: Adding web browser support to the DroidconKotlin Kotlin Multiplatform sample app presented several challenges. Key hurdles included waiting for SQLDelight to...
og:url: https://daily.dev/posts/the-challenge-of-adding-a-web-target-to-droidconkotlin-bru1erm2y
og:image: https://api.daily.dev/og/posts/brU1eRM2Y.png
og:image:alt: The challenge of adding a Web target to DroidconKotlin
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# The challenge of adding a Web target to DroidconKotlin

**[Touchlab](https://daily.dev/sources/touchlab)** · 6 min read · 0 upvotes · 0 comments

## Summary

Adding web browser support to the DroidconKotlin Kotlin Multiplatform sample app presented several challenges. Key hurdles included waiting for SQLDelight to add web support, Coil's image loading crashing in browsers due to Node.js-specific Okio filesystem assumptions (requiring a switch to Kamel), and Firebase Crashlytics lacking web support entirely. SQLDelight's async web worker model required making all database calls suspendable, causing cascading changes throughout the codebase — particularly around dependency injection with Koin. Additional work involved configuring sql.js and WASM files via webpack, initializing the js-joda timezone library, adapting the mobile-first UI with adaptive layouts for wider screens, and handling multiplatform resources and localization. Most shared code was retained via KMP and Compose Multiplatform, but the web target required more platform-specific adjustments than anticipated.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://touchlab.co/adding-web-target-to-droidcon>

## Similar posts on daily.dev

- [Building a Real-World Kotlin Multiplatform TV Shows App](https://daily.dev/posts/building-a-real-world-kotlin-multiplatform-tv-shows-app-7wrjfcriy) · Medium · 0 upvotes · 0 comments
- [Kotlin Weekly \#532](https://daily.dev/posts/kotlin-weekly-532-hs8jzqt9y) · Kotlin Weekly · 0 upvotes · 0 comments
- [Practical Kotlin Multiplatform: Setting up the Kotlin Multiplatform Networking Module with Ktor](https://daily.dev/posts/practical-kotlin-multiplatform-setting-up-the-kotlin-multiplatform-networking-module-with-ktor-z7mvnl8di) · Joe Birch · 0 upvotes · 0 comments

---

Tags: [#kotlin](https://daily.dev/tags/kotlin), [#webassembly](https://daily.dev/tags/webassembly), [#compose-multiplatform](https://daily.dev/tags/compose-multiplatform)

[View this post on daily.dev](https://daily.dev/posts/the-challenge-of-adding-a-web-target-to-droidconkotlin-bru1erm2y)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"The challenge of adding a Web target to DroidconKotlin","url":"https://daily.dev/posts/the-challenge-of-adding-a-web-target-to-droidconkotlin-bru1erm2y","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/the-challenge-of-adding-a-web-target-to-droidconkotlin-bru1erm2y"},"datePublished":"2026-08-02T07:15:13.869Z","dateModified":"2026-08-02T07:35:39.049Z","description":"Adding web browser support to the DroidconKotlin Kotlin Multiplatform sample app presented several challenges. Key hurdles included waiting for SQLDelight to...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/9d78b1c13975a47e20af0bc57c592b6b?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/9d78b1c13975a47e20af0bc57c592b6b?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Touchlab","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Touchlab","logo":"https://media.daily.dev/image/upload/s--CQ0u6GwB--/f_auto,q_auto/v1785654902/logos/touchlab?_a=BAMAMicg0","url":"https://daily.dev/sources/touchlab"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/the-challenge-of-adding-a-web-target-to-droidconkotlin-bru1erm2y","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"kotlin,webassembly,compose-multiplatform","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Touchlab","item":"https://daily.dev/sources/touchlab"},{"@type":"ListItem","position":3,"name":"The challenge of adding a Web target to DroidconKotlin"}]}
```

