Senior Kotlin Multiplatform Engineer
Matthias Ernst
I help companies ship for Android, iOS, desktop, and web from one Kotlin codebase. Less duplicated work, fewer bugs, faster releases.
About
Grüezi. I'm Matthias, a senior software engineer focused on Kotlin Multiplatform. I build shared codebases that run on Android, iOS, desktop, and web, so teams write their logic once instead of maintaining two or three copies of it.
Over the last 7+ years I've built software for banking, insurance, and automotive clients: the frankly 3a pension app at Zürcher Kantonalbank, the Helsana+ health insurance app, and a connected-vehicle SDK for the Toyota Group. Regulated industries have taught me to care about correctness, security, and release discipline.
I also co-founded Ernst & Conte GmbH, a Swiss consultancy for KMP and app development. If you're weighing Kotlin Multiplatform for your product, or need someone who has shipped it in production, get in touch.
Technical Skills
What I work with, and how well I know it.
Kotlin & KMP Expert
My daily driver: shared module architecture, Kotlin/Native interop, coroutines and Flow, and multi-module Gradle builds that stay fast as projects grow.
Compose Multiplatform Expert
Shared declarative UI on Android, iOS, desktop, and web, for products where one interface codebase makes sense.
Android & Jetpack Compose Expert
Native Android in production since 2019, from UI and architecture to Play Store release pipelines.
iOS & Swift Proficient
Swift on the iOS side of KMP projects: framework packaging, interop, and the integration code where shared Kotlin meets the native app.
KMP Libraries & Tooling
- Ktor
- SQLDelight
- Koin
- Kotlinx.Serialization
- Coroutines & Flow
- Kotlin/Native
- Gradle (multi-module)
- SKIE
- React Native interop
DevOps & Infrastructure
- Kubernetes
- Helm
- Docker
- GitHub Actions
- GitLab CI
- Keycloak / SSO
- Firebase
- Fastlane
- nginx
- Play Console
- App Store Connect
Methods & Process
- Scrum
- SAFe
- TDD
- Pair programming
- Team leadership
- Technical consulting
Fullstack & Also
- TypeScript
- Java
- Spring Boot
- Kafka
- REST APIs
- Swift
- Bluetooth / BLE
- AI / LLM integration
Work Experience
-
2022 – Present
Senior Kotlin Multiplatform Engineer, Co-founder
Ernst & Conte GmbH, Baar, Switzerland
Co-founded a Swiss consultancy for Kotlin Multiplatform work. I run projects end to end, from architecture and estimates through development, testing, and deployment, and handle the client side: proposals, budgets, and long-term relationships.
-
2021 – Present
Senior Kotlin Multiplatform Engineer
Zürcher Kantonalbank (ZKB), Zürich, Switzerland
I lead the cross-platform architecture of frankly 3a, the bank's pension app. The shared KMP modules I design serve both the Android and iOS apps, which removes duplicate work on every feature. I also write Swift where the shared code meets the iOS app, and ship on a continuous release schedule with cross-functional teams.
-
2022 – 2023
Kotlin Multiplatform Consultant
Toyota Group (Motix), London, UK
Designed and built a white-label KMP SDK for a connected-vehicle platform, consumed by a React Native frontend. Wrote the low-level Bluetooth (BLE) communication layer once in Kotlin for both iOS and Android, built telemetry collection, and was the primary technical contact for product stakeholders. The SDK shipped on schedule.
-
2022
Kotlin Multiplatform Consultant
Almer Technologies AG, Bern, Switzerland
Reviewed the Android and KMP codebase of an AR smart-glasses startup. The team adopted the architectural recommendations right away, and I advised on module structure and shared-code strategy.
-
2019 – 2021
Mobile Software Engineer
ti&m, Zürich, Switzerland
Built Android and KMP features for Swiss financial clients, including the Helsana+ health insurance app and the LGT private banking platform. Maintained shared KMP modules to keep code reuse high, and worked directly with stakeholders in cross-functional Scrum teams.
-
2017 – 2018
Business Management
Saeki Japan Co. Ltd., Fukuoka, Japan
Managed international client relationships and export operations in Japanese, English, and German during my year in Japan.
-
2016 – 2018
President, students.fhnw
FHNW, Brugg, Switzerland
Led the university's student organisation, representing around 12,000 students. Restructured the organisation, coordinated initiatives across departments, and was responsible for events and the budget.
-
2016 – 2018
Student Member, University Board
FHNW, Brugg, Switzerland
Represented the student body on the FHNW University Board and brought student interests into strategic and policy decisions.
-
2014 – 2015
Software Engineering Intern
RUF, Schlieren, Switzerland
Built a Java test-automation system for quality assurance across software and hardware. Designed the testing model, wrote the test scripts, and debugged issues across the stack, including hands-on hardware work.
Ernst & Conte GmbH
Together with Patrick Del Conte I run Ernst & Conte, a Swiss software consultancy for Kotlin Multiplatform, app development, and fullstack engineering. I also created Tessa, our testing product that runs plain-language test scenarios on Android, iOS, web, and desktop. If your project needs a team rather than a single engineer, that's the door to knock on.
Visit ernstconte.chEducation
B.Sc. Computer Science
University of Applied Sciences and Arts Northwestern Switzerland (FHNW)
Focus on software development: algorithms, data structures, databases, web development, and software engineering.
International Business Management
Seinan Gakuin University, Fukuoka, Japan
Self-organised exchange year in Japan. Courses in business management, business communication, and economics.
Commercial Professional Baccalaureate (IMS)
BBBaden, Cantonal School Baden
Computer science track with the Swiss Certificate of Competence in computer science.
Interests
Away from work I boulder, play squash, garden, and ride motorbikes. I keep up my Japanese, a habit from my year in Fukuoka, and tinker with IoT and LLM projects at home.
- Bouldering
- Squash
- Gardening
- Motorbiking
- Japanese language
- IoT
- AI & LLMs
Kotlin Multiplatform FAQ
The questions clients and teams ask me most often.
What is Kotlin Multiplatform (KMP)?
Kotlin Multiplatform is a JetBrains technology for sharing Kotlin code across Android, iOS, desktop, web, and the server. Business logic, API clients, data models, and validation live in one common module, and every platform runs that same code.
Isn't Kotlin just for Android?
No, that's a leftover impression from Kotlin's early days. Kotlin is a first-class JVM language and a modern alternative to Java. It runs backends on Spring Boot, Quarkus, Micronaut, and Ktor, and it's fully interoperable with Java, so you can adopt it file by file in an existing Gradle or Maven project.
How is KMP different from Flutter or React Native?
Flutter and React Native share the UI layer and bring their own rendering or bridge along. KMP shares what sits underneath: networking, persistence, business rules. Each platform keeps its fully native UI, SwiftUI on iOS and Jetpack Compose on Android. And if you want shared UI as well, Compose Multiplatform adds that on top.
Is KMP production-ready? Who uses it?
Yes. KMP is stable and backed by JetBrains and Google. Netflix, McDonald's, Forbes, and Cash App ship it in production. So do Swiss banks and insurers: I've built KMP modules that run in the frankly 3a and Helsana+ apps.
Can I use KMP with my existing Java backend?
Yes. A shared KMP module drops into an existing Java project without touching the rest. Sharing data classes and validation between your backend and your clients removes a whole category of serialization bugs and keeps API contracts in sync.
How does Kotlin code run on iOS?
The Kotlin/Native compiler builds a regular iOS framework (an .xcframework). Swift imports it like any other dependency. There's no bridge and no embedded VM, just compiled native code. Tools like SKIE make the generated Swift API feel natural to iOS developers.
Can I share the user interface as well?
Yes, with Compose Multiplatform. You write the interface once in Kotlin and run it on Android, iOS, desktop (Windows, macOS, Linux), and web via WebAssembly. It suits teams that want maximum code sharing. For others, native UI per platform on top of shared logic is the better fit, and KMP supports both.
Is KMP just for mobile, or a full-stack option?
A single Kotlin codebase can cover the JVM backend (Ktor, Spring Boot, Quarkus), the Android app, the iOS app, the web frontend, and a desktop client. Shared modules keep models and rules identical from the database to the screen.
What does adopting KMP look like in an existing project?
You don't rewrite anything. Start with one shared module, often the networking layer or a set of data models, consume it from the existing Android and iOS apps, and grow from there. From the first shared module on, that code is written and maintained once instead of twice.
What are the cost benefits?
Shared logic is written once, tested once, and fixed once. That saves engineering hours on every feature and every bug, and the Android and iOS apps can't drift apart, because they run the same code.
More questions? Read the full KMP FAQ or ask me directly.
Get in Touch
Have a project, a role, or a KMP question? Send me a message.
What Happens Next
I read every message myself and aim to reply within a business day. You'll get an honest answer, including when I think KMP is not the right fit for your case.
Hiring a Team?
For project work with a full team behind it, contact Ernst & Conte.