Kotlin Multiplatform @ Meetup: One Year In

by Colin Lee | at Minnebar 16

One of my past talks at Minnebar was about using a single codebase with shared Kotlin code for many devices. At the time, I had sample code that worked on Android, web frontend, and iOS, but it was mostly just a demo.

Today, I have just finished spending the last year of my time working at Meetup on a project that was written using Kotlin Multiplatform Mobile (KMM) for Android and iOS to share logic. All of my cool theory got tested and our code is now running in production. Our Meetup for Organizers app seems fast, stable, and fairly successful.

We were able to share a lot of code: including REST, GraphQL, database, keychain and settings management, translated resources, and repository layers.

Not only was this my first production, work project using KMM, but this was also the first written entirely with the newest declarative UI frameworks for mobile. We used Jetpack Compose and SwiftUI. I even developed a custom Markdown editor in Jetpack Compose code.

I'd like to walk everyone through our experiences taking the least boring technologies available and dumping them all into one project. What might sound like a recipe for disaster actually worked out okay. But there are some interesting war stories to share!

Beginner

Colin Lee

Colin is an experienced software engineer specializing in Android development. He worked for Mozilla on the Firefox for Android rewrite. He has worked for many successful companies in the past fifteen years, including Amazon, Flipgrid (acquired by Microsoft), Cray, Pearson VUE, and When I Work. He runs the Twin Cities Kotlin User Group in his spare time. He now works full-time for Meetup and enjoys traveling the world during their generous paid time off.

He has been programming since he learned BASIC on the TRS-80 computer in his parents' basement at age six. He has been writing Android apps since soon after the first Android phone launched and has done so professionally since the last space shuttle landed. In that time, he's probably been pitched every silly app idea and been offered a percent stake in the zero dollars most actually earned.