Kevin Desai

Kevin Desai

Lead Android Engineer - Level Home

Atlanta, Georgia, United States

Actions

I am a mobile engineer with nine years of practice, most recently Lead Android Engineer at Level Home (ASSA ABLOY), where I led the Android Matter integration for a consumer smart lock and owned device commissioning across Bluetooth Low Energy, Wi-Fi and NFC. Before that I spent five years at VMware on Workspace ONE. I work in Kotlin Multiplatform and Compose Multiplatform, and live in Atlanta.

Area of Expertise

  • Consumer Goods & Services
  • Information & Communications Technology

Topics

  • Kotlin
  • Kotlin Multiplatform
  • Android
  • Compose Multiplatform
  • Mobile Apps

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.

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

Recent iPhones ship a 3-billion-parameter language model inside the operating system. On Android you download the model and manage it yourself. Either way it runs on the phone: no network, no API key, nothing billed per token. One Kotlin codebase drives both. Most AI application work in this ecosystem assumes a hosted model behind a client library; this talk takes the other path and reports what it costs.

It's a collection tracker for 1,025 Pokémon cards. 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. Airplane mode, start to finish.

The lesson that transfers furthest has nothing to do with phones. The model should never hold your data. Hand a 1B model 1,025 invented proper nouns and it will confidently invent a few more, so it never sees the collection. It turns a question into a structured query, constrained so an invalid response is impossible to generate, and SQLite answers. That discipline matters just as much in a service calling a hosted model, where it is easier to skip and more expensive to get wrong.

The app is Kotlin Multiplatform, which puts the same code in front of two different runtimes: Gemma 3 1B through LiteRT-LM on Android, Apple's Foundation Models framework on iOS. You'll see where one Kotlin interface covers both and where the platforms stop agreeing.

Everything runs on hardware people already carry. The structured-output half applies wherever your model lives.

Google DevFest Atlanta 2026: Empowering Developers & Builders in the Agentic Era Sessionize Event Upcoming

October 2026 Atlanta, Georgia, United States

Atlanta Developers' Conference 2026 Sessionize Event

October 2026 Alpharetta, Georgia, United States

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