SafeLink is a cross-platform personal safety application built with Kotlin Multiplatform (KMP) and Compose Multiplatform. It allows users to manage emergency contacts and send SOS alerts with their location.
- ARCHITECTURE.md — Technical design, module structure, and data flow.
- CONTRIBUTING.md — How to contribute to the project.
- CHANGELOG.md — Full release history.
- JDK 17+
- Android Studio (for Android/Desktop development)
- Xcode (for iOS development, macOS only)
- Open the project in Android Studio.
- Select the
composeAppconfiguration. - Run on an emulator or device.
- Open the terminal.
- Run:
./gradlew :composeApp:run
Note: Native Windows ARM64 support enabled via Compose Multiplatform 1.8.2.
Note: The KMP shared framework compiles for iOS targets, but the native SwiftUI app is not yet implemented. iOS development requires macOS + Xcode, which is not available in this environment.
What's complete: Shared Kotlin code,
expect/actualplatform abstractions, framework export configuration.What's needed: Swift/SwiftUI app to consume the
Shared.framework.
Once a Mac is available:
- Navigate to
iosApp/. - Open
iosApp.xcodeprojin Xcode. - Implement the SwiftUI app consuming
Shared.framework. - Run on a Simulator or Device.
To ensure the SOS functionality works as intended, the application requires the following permissions:
- Location (
ACCESS_FINE_LOCATION,ACCESS_COARSE_LOCATION): Used to attach accurate coordinates to emergency alerts. - SMS (
SEND_SMS): Used to send the SOS message directly to your emergency contacts.
- Location (
NSLocationWhenInUseUsageDescription): Required to access your current location for alerts.
- Location: MacOS and Windows may prompt to allow location access for the application to function correctly.
├── composeApp/ # Shared UI & Platform Entry Points
├── shared/ # Domain, Data, & Logic
├── iosApp/ # Native iOS Shell
└── gradle/ # Build Configuration
| Milestone | Description | Status |
|---|---|---|
| v2.0 | KMP Migration — Android, Desktop, iOS framework | ✅ Complete |
| v2.1 | Release Signing + Windows Packaging | ✅ Complete |
| v2.1.1 | Release Assets (APK + MSI) | ✅ Complete |
| v2.1.3 | Tests + Coverage + CI Integration | ✅ Complete |
| v2.2.0 | Fix Desktop Launch + ARM64 Docs | ✅ Complete |
| v2.3.0 | Native Windows ARM64 (Compose 1.8.2) | ✅ Complete |
| v2.3.2 | Desktop Hotfix (DB, SOS, ARM64) | ✅ Complete |
| v2.4 | iOS Native App — SwiftUI integration | 🚧 Pending (requires macOS) |
| v3.0 | Cloud Sync & Auth — Cross-device backup | 📋 Planned |