Session

Offline by Default: On-Device LLMs in a Kotlin Multiplatform App

Gemma 3 1B runs on a Pixel 8 with no network connection. Apple ships a 3-billion-parameter model inside iOS 26. This talk puts one Kotlin Multiplatform app on top of both, and the whole thing works in airplane mode.

The app tracks a collection of 1,025 Pokémon cards on Android and iOS behind a single Compose Multiplatform UI. Read out the 25 cards you just bought and it marks them caught. Ask which Gen 3 cards you're still missing and it answers from your own data. No request leaves the phone.

The shared layer is one Kotlin interface with two actual implementations: LiteRT-LM on Android, Apple's Foundation Models framework on iOS. You'll see where expect/actual holds up and where the two platforms stop agreeing.

Getting answers you can trust out of a 1B model is the other half. Both runtimes support constrained, schema-valid output, which is the same tool-calling machinery agents use, running with no cloud round-trip. The model turns what you said into a structured query and SQLite answers it. The model never holds the collection.

All of it runs on phones people already own, with no cloud service, no API key and nothing to pay per request.

Kevin Desai

Lead Android Engineer - Level Home

Atlanta, Georgia, United States

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top