A long-planned expansion beyond Android

StreetComplete’s developers have set out a technical path for bringing the OpenStreetMap editing app to iOS while retaining a largely shared codebase. The project’s coordinating issue describes the port as a major undertaking rather than a simple packaging exercise: its Android-oriented interface must be rebuilt, platform-specific code separated from application logic, and incompatible dependencies replaced.

StreetComplete lets people contribute local details to OpenStreetMap through a task-based mobile interface. Extending that experience to Apple devices would broaden the potential contributor base, but the existing application was built around Android. The project says its code is entirely written in Kotlin, giving it a useful starting point for a cross-platform version without forcing a wholesale rewrite in another language.

The plan relies on Kotlin Multiplatform to compile shared logic for multiple targets and Compose Multiplatform to share interface code. Developers first need to disentangle Android- and Java-specific components from the core application. They are also migrating screens from Android XML layouts to Jetpack Compose before taking the smaller follow-on step to the multiplatform version of Compose.

One codebase, substantial work

That sequence is intended to limit the amount of code that must be maintained separately for Android and iOS. The project contrasts the approach with moving to Flutter, which would require rewriting its Kotlin code in Dart. Keeping core logic in Kotlin should reduce the long-term maintenance burden once the initial conversion is complete.

The advantage does not make the port small. Project maintainers previously estimated that a complete iOS version could require roughly one person-year of development. The coordinating issue says the migration was about halfway complete during the first half of 2024, when a maintainer was able to work on it full time. A Kanban-style board divides the remaining effort into tasks, although some depend on earlier work and have not yet been opened.

StreetComplete is inviting contributors to claim implementation tasks, learn the relevant Compose technologies, support development financially, or help with general maintenance and issue triage. The project presents that community participation as central to finishing the port.

The available evidence documents the engineering program and its rationale, but does not independently establish the current distribution status of an iOS beta. What is clear is that StreetComplete has chosen an incremental shared-code strategy: modernize the Android interface, isolate platform dependencies, and then use the resulting Kotlin foundation on iOS. For users, the eventual goal is a familiar editing workflow on another mobile platform; for maintainers, the test is whether that reach can be achieved without permanently doubling the project’s workload.