Kotlin Multiplatform apps and tools, from two independent developers.
Carcará is two indie developers building Android and iOS apps from one shared codebase, and open-sourcing what we learn along the way.

How an app is put together
Business logic, networking and storage are written once in Kotlin and run on both platforms. Each platform keeps its own native UI, so the app behaves like it belongs on the phone it runs on.
- Android Native UI
- iOS Native UI
From Perch, our deep-link library. The link is declared on a type, and the build fails if two routes could match the same URL. How Perch works →
What we have built and published
Library, Apache 2.0
Perch
Type-safe deep links for Kotlin Multiplatform. A URL in, a route object out.
View on GitHub →Library
kotlinx-locale
Locale and language-tag handling for Kotlin Multiplatform.
View on GitHub →Web tool
App Store asset generator
Generate App Store and Google Play screenshots, icons and banners right in your browser. No sign-up.
Open the tool →
Notes from our own projects
- September 22, 2026
Presenting Perch
Perch is an open-source Kotlin Multiplatform library that turns a deep-link URL into a typed route object, and fails your build when two routes could match the same link.
- August 30, 2026
Presenting kotlinx-locale
Kotlin has no multiplatform locale API, and every platform localizes differently. This is why we built kotlinx-locale, an open-source library that compiles Unicode CLDR into common Kotlin so a date, a price or a phone number formats the same on Android, iOS and the web.
- August 27, 2026
How PMs and Designers Started Shipping Our Mobile App
After rewriting our app in Kotlin Multiplatform, product managers and designers began delivering features on their own. Here is the setup that made it possible.
- August 26, 2026
From Flutter to KMP
We ran two apps and kept building every feature twice. This is how we rewrote our mobile app from Flutter to Kotlin Multiplatform, the greenfield call behind it, and what six months delivered.
- July 30, 2026
Hello from Carcará
Who we are, why we build with Kotlin Multiplatform, and what to expect from this blog.
Working with Kotlin Multiplatform too?
Questions about our libraries or posts, or want to compare notes on Kotlin Multiplatform? Write to us.