Shared business logic
Domain models, business rules, networking, persistence, and orchestration shared across iOS, Android, web, and backend in pure Kotlin.
Senior engineering · Kotlin Multiplatform
Kotlin Multiplatform for genuine cross-platform code-share — shared business logic across iOS, Android, web, and backend with native UI on each platform. The cross-platform pick when the shared layer matters more than the UI.
Why senior, not contractor
Cross-platform mobile is usually a tradeoff between code-share and native feel — React Native and Flutter share UI but cap at the abstraction. Kotlin Multiplatform inverts the tradeoff: share the business logic, networking, persistence, and domain layer; let each platform render with its native UI framework (SwiftUI on iOS, Compose on Android, React on web). Prosigns ships KMP for engagements where the shared layer is genuinely 60–80% of the app and native UX matters too much to abstract.
Senior floor
G6+ minimum
Bench depth
10+ G6/G9 engineers
In production
2022+
Engagement
Outcome-led SOW
Where Kotlin Multiplatform ships
Specific applications of Kotlin Multiplatform we’ve built and operate. Every example below maps to a real engagement, not a bullet on a stack-card.
Domain models, business rules, networking, persistence, and orchestration shared across iOS, Android, web, and backend in pure Kotlin.
SwiftUI on iOS, Jetpack Compose on Android, Compose Multiplatform for web/desktop where it fits, JetBrains Compose for desktop.
Ktor Client for HTTP, kotlinx.serialization for type-safe contracts, Ktor Server for the backend tier where it fits.
SQLDelight for type-safe SQL across iOS / Android / JVM, Multiplatform Settings for key-value, Realm KMP for object persistence.
Phased migration from React Native / Flutter / Xamarin / native-only stacks where the shared-business-logic value pays for the migration cost.
Compose Multiplatform for genuine UI-share across Android / iOS / desktop / web, with platform-specific overrides where UX demands it.
Stack depth
Frameworks, libraries, and runtime tools the bench has shipped in production. Not a CV-skim — a working depth.
Core
Networking + data
Async + concurrency
DI + architecture
Quality + ops
Engagement models
We don’t bill hourly contractors. Engagements run against outcomes — choose the shape that matches the work.
See engagement modelsFixed-scope
When the deliverable is clear and the scope is bounded — an MVP, a migration, a discrete platform build. Senior engineering against a written outcome, not against a body count.
Embedded squad
When the work is product-shaped and the cadence is continuous. A senior pod (engineering + design + PM as needed) embedded into your team, with the practice lead co-piloting from HELM.
Managed services
When the system is running and needs ongoing engineering ownership — operations, SLO defense, release management, security and compliance evidence. Monthly retainer against a published SLA.
Selected work
Financial services
Migrated a React Native + separate web admin into a KMP shared layer with SwiftUI / Compose / React frontends. Ktor Client + kotlinx.serialization for the API tier. SQLDelight for offline persistence. Native UX on each platform.
Duration · 8 months
Brief us
Reply < 4 business hoursFive fields. Goes straight to the practice lead — not an SDR. We’ll reply with a senior engineer’s read on fit, scope, and the engagement model that suits the work.
FAQ
Everything below also appears in the proposal and the SOW — no surprises after signing.
KMP when the shared business-logic layer is genuinely 60–80% of the app and native UX matters too much to abstract. RN when JS/TS skills dominate and you want shared UI as well. Flutter when pixel-perfect cross-platform UI is the value. KMP is increasingly our default for serious enterprise mobile where iOS and Android need to feel native.
Yes. KMP went stable in 2023 and the K2 compiler has substantially improved tooling, build times, and the iOS interop story. JetBrains, Touchlab, McDonald's, Philips, and others run KMP in production at scale. Compose Multiplatform is still maturing for iOS but the shared-logic story is solid.
Engineering-led delivery. We don't bill hourly contractors against your JIRA board. Every engagement runs against a defined outcome with a senior engineer accountable from kickoff to operating cutover. If you genuinely need staff-aug — discrete bodies, your management, hourly rates — we'll be honest and route you to a partner that fits.
G6 minimum (six-plus years in their craft) on every billable hour. Department leads are G9 or G10. We don't flex juniors onto the bench mid-sprint, we don't subcontract to delivery centers, and we don't dilute senior rates with mixed staffing. The bench in the proposal is the bench in production.
Three engagement models published at /engagement-models/. Fixed-scope for defined deliverables, embedded squads for ongoing product work, managed services for steady-state operations. Rates depend on seniority, engagement length, and region. Discovery + scoping conversation is free; SOWs are written against deliverables, not bodies.
Senior-only across Dallas, Doha, Lahore, and Islamabad. We staff against the engagement's needs (timezone, language, regulatory frame), not against arbitrary regional preferences. Most engagements run with a US/EU-aligned core and a follow-the-sun extended bench when the workload warrants it.
Yes. We name the engineers in the SOW, attach their profiles, and they're on the kickoff. We don't bait-and-switch with senior reviewers and junior execution. If a named engineer needs to roll off the engagement (rare), we surface a replacement from the same seniority tier with explicit handoff.
Talk to a Kotlin Multiplatform lead
Bring the workload — we’ll bring a senior engineer plus the practice lead most relevant to the work. 30 minutes, no obligation, no junior reps.