DEV.co
MCP Servers · joreilly

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.

Source: GitHub — github.com/joreilly/PeopleInSpace
3.4k
GitHub stars
298
Forks
Kotlin
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryjoreilly/PeopleInSpace
Ownerjoreilly
Primary languageKotlin
LicenseApache-2.0 — OSI-approved
Stars3.4k
Forks298
Open issues15
Latest releaseUnknown
Last updated2026-07-04
Sourcehttps://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.

Quickstart

Get the PeopleInSpace source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/joreilly/PeopleInSpace.gitcd PeopleInSpace# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Learning Kotlin Multiplatform Development

Explicitly positioned as a minimal, well-documented KMP learning resource. Official Kotlin docs sample and Google Dev Library reference, ideal for teams evaluating KMP for the first time.

Prototyping Cross-Platform UI Architectures

Demonstrates practical patterns for sharing business logic while maintaining platform-native or Compose-based UIs across 7+ platforms. Useful for architectural proof-of-concept before scaling to production.

Real-Time Data Visualization on Multiple Platforms

Shows live API integration (space astronaut data, ISS tracking) with Ktor backend and multi-client consumption. Pattern transferable to similar real-time or polling-based data scenarios.

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.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityHigh
DEV.co fitGood
Assessment confidenceHigh
Security considerations

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.

Software development agency

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.co

Related 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?
Sample. Authors explicitly recommend KaMPKit for production use. PeopleInSpace minimizes scope to illustrate KMP concepts clearly.
Can I use this code in my commercial app?
Yes, Apache 2.0 allows commercial use. You must retain license notices and document modifications. Consult legal if bundling with proprietary code.
What happens if the public APIs it depends on change or go down?
Not addressed in sample. Production apps must add fallback logic, caching, and error handling. No SLAs documented for Space Devs or Open Notify APIs.
How long does it take to set up and run locally?
Depends on platform: Android/Wear ~15 min (Gradle sync + emulator); iOS ~30 min (Xcode, Swift interop setup); Desktop/Web ~10 min. No end-to-end time estimate in docs.

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.