World Congress 2026 Europe Jul 10, 2026 Session details

Building a Cross-Platform BLE Client with Kotlin Multiplatform and Kable

Georg Dresler

Stop duplicating fragile Bluetooth code across mobile ecosystems. Transform chaotic BLE integrations into a stable, coroutine-powered codebase using Kotlin Multiplatform and Kable.

Pause
Mute Enter Fullscreen
#1 about 4 min

The complexities of developing Bluetooth Low Energy applications

Frequent disconnects, platform differences, and unreliable state callbacks make managing Bluetooth functionality notoriously challenging for developers.

#2 about 5 min

Core architecture and building blocks of Bluetooth Low Energy

The foundational architecture of the protocol relies on centrally coordinated clients, broadcasting peripherals, unique services, and distinct characteristics.

#3 about 3 min

Managing asynchronous state in robust Bluetooth connections

Discovering nearby devices, negotiating authentication, and serializing concurrent read and write requests demand precise asynchronous state management.

#4 about 4 min

Handling asynchronous operations with native Kotlin coroutines

Suspending functions and flows abstract asynchronous callbacks into sequential code while coroutine scopes safely manage connection cancellation and cleanup.

#5 about 5 min

Building portable Bluetooth logic using Kotlin multiplatform

The onion architecture pattern isolates platform-specific implementations to outer layers while preserving core domain and business logic for cross-platform reuse.

#6 about 4 min

Abstracting platform-specific Bluetooth APIs using the Kable library

Integrating a unified multiplatform library eliminates disparate platform quirks by mapping standard operations natively to coroutine flows and suspending functions.

#7 about 5 min

Controlling a selected Bluetooth peripheral via live demo

Filtering device advertisements and writing continuous characteristic updates enables functional real-time control of hardware peripherals from a shared codebase.

#8 about 2 min

Platform constraints on concurrent peripheral device connections

Operating systems heavily dictate the maximum number of concurrent peripheral connections a single central leader can securely maintain.

Matching moments

2:15 min

Developing front-end client applications using Kotlin Multiplatform libraries

Mario Bodemann Mario Bodemann

4:20 min

Solving cross-platform drawbacks with Kotlin Multiplatform

Petar Marijanović · LIVE

1:16 min

Designing cross-platform APIs with team collaboration

Andrea Della Porta Andrea Della Porta · WWC Europe 2026

3:53 min

Key takeaways and future Kotlin Multiplatform improvements

Petar Marijanović · LIVE

4:43 min

Architectural boundaries and the Kotlin Multiplatform survival kit

Andrea Della Porta Andrea Della Porta · WWC Europe 2026

1:34 min

Centralizing mobile business logic with Kotlin Multiplatform

Jens Posingies Jens Posingies +2 · WWC Europe 2026

Upcoming sessions on this topic

Open session

World Congress 2026 North America

Offloading IoT State: Solving the Memory Crisis on Legacy Hardware

Pravin Nagare

Senior Software Engineer, Roku

Pravin Nagare
Open session

World Congress 2026 North America

How to generate business value through performance optimizations

Nikolai Sidiropulo

Software Engineer at Meta

Nikolai Sidiropulo
Open session

World Congress 2026 North America

Bluesky's Open Source Moderation Tools: LLM-based Event Detection in Python

Alex Garnett

Developer Relations, Bluesky

Alex Garnett
Open session

World Congress 2026 North America

From Software Agents to Physical Devices: Inside the Agentic Hardware Stack

Vivian Hu, Michael Yuan

Vivian Hu
Michael Yuan
Open session

World Congress 2026 North America

From Cloud Native to Multi-Cloud Native: Write Once, Deploy Anywhere

Sandeep Pal

Principal Member of Technical Staff at Salesforce

Sandeep Pal
Open session

World Congress 2026 North America

Run your agents in Kubernetes: Build once, deploy anywhere. But really?

Michal Salanci

Senior Systems Engineer at ESET Cybersecurity

Michal Salanci