top of page
Steve Penna

Steve Penna

Building the mobile apps for Pebble watches at Core Devices

Steve has been working on Android since 2014, leading teams at Pebble, Square (Connected Devices team) and Memfault (AOSP observability SDK). He prefers the bits of software which interact with hardware, likes debugging complex problems (which bluetooth keeps on giving), and loves working on things that he uses. He joined Core Devices this year to work on Pebble smartwatches again.

Rebuilding Pebble: What a Difference a Decade Makes

A decade ago, building a smartwatch companion app for Pebble meant a small army of Android and iOS engineers maintaining separate codebases. Now, in 2025, we're rebuilding those apps from scratch for new Pebble watches, on a tight deadline. We decided to take a gamble: one (tiny) team, one codebase, using Kotlin Multiplatform and Compose. I lead the Pebble Android team in 2014, but haven't touched iOS, or used Compose in anger yet. How hard could it be? In this talk, I'll take you through our experience of rebuilding the Pebble app from the ground up, compared to 10 years ago. We'll explore the shifts in mobile development over the last ten years, and how they have impacted the developer experience: - Kotlin + Coroutines - Compose Multiplatform - Evolution of tooling/libraries (including from Google) - AI coding assistance This is a story for anyone curious about the evolution of mobile development. Key takeaways: - How do all of these changes compound to improve the developer experience - making it not just more productive but more fun? - What are the Kotlin Mulitplatform + Compose gotchas when building a complex app which touches a massive surface area (bluetooth, many platform APIs, running 3rd-party javascript code inside the app, and much more). Does AI actually help? - What can still improve? A large chunk of the new app is open-source - follow along: https://github.com/coredevices/libpebble3
bottom of page