RadarTopicsBuildersWeeklyReads
Open Source Radar
joreilly/

PeopleInSpace

GitHub

PeopleInSpace is a Kotlin Multiplatform sample project using SwiftUI, Jetpack Compose, Compose for Wear/Desktop/Web, and a Ktor backend to serve space-related data. It targets multiple platforms and includes a shared KMP codebase, with a small Ktor backend and an MCP server option.

3.4kstars
309forks
9issues
Apache-2.0license
2019since
Star historydaily snapshots by VibeCrowd

Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).

Alternatives & relatedmatched by topic overlap
Reviewgenerated from repository data · Aug 5, 2026

What it is

Kotlin Multiplatform project with SwiftUI, Jetpack Compose, Compose for Wear OS, Compose for Desktop and Compose for Web clients along with Ktor backend. Currently running on Android, Wear OS, iOS, Desktop, Web, JVM back end, and MCP server using shared KMP code.

How it works

Uses a shared KMP module (common) for Ktor, SQLDelight, Koin, view models and shared Compose Multiplatform UI. Individual modules provide platform-specific clients:

  • app: Android (Jetpack Compose) including Glance widget
  • wearApp: Wear OS (Compose for Wear OS)
  • PeopleInSpaceSwiftUI: iOS (SwiftUI)
  • compose-desktop: Desktop client
  • compose-web: Web client (Wasm)
  • backend: Ktor server providing data from The Space Devs API and Open Notify API
  • mcp-server: Model Context Protocol server exposing shared KMP code

Getting started

Requirements: JDK 17, a recent version of Android Studio (for Android/Wear) and Xcode (for iOS).

Install/run commands from README:

  • Android: run the app configuration from Android Studio (or ./gradlew :app:installDebug)
  • Wear OS: run the wearApp configuration from Android Studio (or ./gradlew :wearApp:installDebug)
  • iOS: open PeopleInSpaceSwiftUI in Xcode and run from there
  • Desktop: ./gradlew :compose-desktop:run
  • Web (Wasm): ./gradlew :compose-web:wasmJsBrowserDevelopmentRun
  • Backend: ./gradlew :backend:run (or run Server.kt directly from Android Studio). After doing that you should then for example be able to open http://localhost:9090/astros_local.json in a browser.

Tests: ./gradlew :common:jvmTest; Maestro UI test flow: maestro test maestro/PeopleInSpace.flow.

Backend deployment

./gradlew :backend:shadowJar
gcloud app deploy backend/build/libs/backend-all.jar --appyaml=backend/src/jvmMain/appengine/app.yaml
SharePost on XLinkedIn
All trending reposRevenue-verified startups →