StreetComplete is an Android app that lets users contribute to OpenStreetMap by answering simple location-based questions presented as quests. The project has now released a public beta for iOS devices, accessible through TestFlight, after over a year of work to port the app to Apple’s platform.

The iOS port builds on Kotlin Multiplatform to share most code between Android and iOS, with the UI migrated to Compose Multiplatform (an extension of Jetpack Compose) and business logic moved to ViewModels. According to the project lead, the migration reached about 50% completion by mid‑2024 after full‑time work in the first half of the year, and the team evaluated several frameworks for multiplatform ViewModel and navigation before benefiting from JetBrains’ ongoing work to make AndroidX Navigation multiplatform.

Diagram of the current view architecture drawn in draw.io showing UI components
Current view architecture diagram illustrating the use of Compose Multiplatform and ViewModels in the StreetComplete iOS port.github.com

This diagram shows the view architecture discussed in the paragraph about migrating the UI to Compose Multiplatform and moving business logic to ViewModels for the iOS port.

Diagram illustrating progress of dependencies in the StreetComplete iOS port development
Progress‑dependencies diagram used to track completion of various migration tasksgithub.com

This diagram relates to the statement that the migration reached about 50% completion by mid‑2024, showing how progress is tracked.

Early testers have noted limitations such as forms that can only be dismissed with the back gesture (which some find unreliable) and a wish for native Apple sign‑in instead of a WebView, as well as more visible tracking of their contributions on the map. The developers say they are working on these issues, but the beta remains available for users to try and provide feedback.

Development has been supported by community contributions and sponsorship, with the German Federal Ministry of Education and Research funding work via the Prototype Fund and the project welcoming donations to allow full‑time work. The issue tracker invites anyone to take on tasks from the project board and help with maintenance, reflecting the open‑source, volunteer‑driven nature of the effort.