PeopleInSpace
PeopleInSpace is a Kotlin Multiplatform sample project demonstrating cross-platform development with shared business logic across Android, iOS, Web, Desktop, and Wear OS using Compose and SwiftUI. It fetches real-time data about astronauts in space and the ISS position via public APIs, backed by a Ktor server.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | joreilly/PeopleInSpace |
| Owner | joreilly |
| Primary language | Kotlin |
| License | Apache-2.0 — OSI-approved |
| Stars | 3.4k |
| Forks | 298 |
| Open issues | 15 |
| Latest release | Unknown |
| Last updated | 2026-07-04 |
| Source | https://github.com/joreilly/PeopleInSpace |
What PeopleInSpace is
Built on Kotlin Multiplatform (KMP) with Compose Multiplatform for UI sharing, Ktor for backend services, Koin for dependency injection, SQLDelight for persistence, and Kotlin Coroutines for async operations. Supports iOS (SwiftUI), Android (Jetpack Compose), Wear OS, Desktop, Web (Wasm), JVM, and MCP server endpoints.
Get the PeopleInSpace source
Clone the repository and explore it locally.
git clone https://github.com/joreilly/PeopleInSpace.gitcd PeopleInSpace# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Kotlin 2.3.21 required; verify your toolchain supports multiplatform compilation targets (Android, iOS, Web/Wasm, Desktop, JVM).
- iOS development requires Xcode, macOS, and Swift interop via SKIE; Android requires AGP and Compose adoption; Web/Desktop are JVM-based.
- No semantic versioning or release artifacts published; pulling directly from main branch introduces risk of breaking changes. Recommend forking stable points or pinning commit hashes.
- Sample uses public APIs (Space Devs, Open Notify) without documented rate limits or SLA; backend deployment to Google App Engine is optional but shown as example.
- Koin, SQLDelight, Ktor, and Kotlin Coroutines versions not explicitly pinned in excerpt; review gradle files for compatibility with your dependency stack.
When to avoid it — and what to weigh
- Production Revenue-Critical Applications — Explicitly designed as a minimal sample to illustrate KMP concepts, not a production framework. Authors recommend KaMPKit for production-grade complexity and feature sets.
- Closed-Source or Proprietary Requirements — Apache 2.0 license requires source disclosure and attribution. If proprietary IP protection is mandatory, licensing review is required; check whether derived works can be kept closed.
- Stability Over Feature Exploration — No release versioning (latestRelease: none), active experimental development with Wasm/MCP features. Not suitable for teams needing long-term API stability guarantees.
- Single-Platform Native Performance Requirements — Multiplatform abstraction introduces indirection. If one platform (e.g., iOS) demands maximum native control or performance, consider native-first approach instead.
License & commercial use
Apache License 2.0 (Apache-2.0). Permissive OSI-compliant license allowing commercial use, modification, and distribution under stated conditions: license and copyright notice must be retained, changes must be documented.
Apache 2.0 permits commercial use and closed-source derivative works. However, you must include license and attribution notices in distributions. If using this as a reference architecture and copying substantive code into proprietary products, ensure compliance with attribution and notice requirements. Recommend legal review if bundling with closed-source components.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | High |
| DEV.co fit | Good |
| Assessment confidence | High |
Sample relies on public, unauthenticated APIs (Space Devs, Open Notify). No input validation, rate-limiting, or secret management shown. Backend deployment to App Engine requires Google Cloud credentials and network isolation review. No HTTPS enforcement documented. For production use: implement API authentication, rate-limiting, input sanitization, and secret rotation. No known CVEs or security audit mentioned.
Alternatives to consider
KaMPKit (Touchlab)
Production-ready Kotlin Multiplatform template with opinionated architecture, testing utilities, and enterprise-grade examples. Authors recommend this for teams moving beyond PeopleInSpace samples.
React Native / Expo
JavaScript-based cross-platform for iOS/Android; lower barrier for web-first teams. No Kotlin/JVM dependency; broader third-party library ecosystem but different language ecosystem.
Flutter
Dart-based multiplatform (iOS, Android, Web, Desktop) with strong UI performance and hot reload. No shared business logic language across platforms; different paradigm than KMP.
Build on PeopleInSpace with DEV.co software developers
Clone PeopleInSpace to see KMP in action across iOS, Android, Web, and Desktop. Perfect for evaluating multiplatform architecture before committing to production frameworks.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
PeopleInSpace FAQ
Is this a production framework or just a sample?
Can I use this code in my commercial app?
What happens if the public APIs it depends on change or go down?
How long does it take to set up and run locally?
Work with a software development agency
DEV.co is a software development agency delivering custom software development services to companies building on open source. Our software developers and web developers design, integrate, and ship production systems — spanning web development, APIs, AI, data, and cloud. If PeopleInSpace is part of your mcp servers roadmap, our team can implement, customize, migrate, and maintain it.
Ready to Explore Kotlin Multiplatform?
Clone PeopleInSpace to see KMP in action across iOS, Android, Web, and Desktop. Perfect for evaluating multiplatform architecture before committing to production frameworks.