How I Built a Real-World Kotlin Multiplatform App
A technical retrospective on building Vesper, a production-grade Kotlin Multiplatform app using Ballast, Compose, Ktor, and Exposed.
On September 3rd, the author launched Vesper, a cross-platform Christian prayer app for Android and iOS, as their entry in the RevenueCat 2026 Shipaton. Vesper is more than just a quick app for the occasion; it is a production-grade application being built as a business foundation. The author first conceived the idea and began working on Vesper in early May, with the Shipaton coinciding with their planned release schedule.
They decided to wait a few weeks to polish and document their technical decisions for the Kotlin community, and these posts are written after the fact. Vesper is heavily based on Ballast, a Kotlin Multiplatform state management library that the author maintains. Ballast helps the author build per-screen UI state and app navigation, and the author hopes to showcase Ballast's real-world application in Vesper.
Written by urgent.news from HackerNoon's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.