Android
Kotlin SDK with FusedLocationProviderClient, a foreground service, Room persistence, and a Flow API. minSdk 26.
io.github.beekonlabs:beekon
Three beats — that’s the whole model:
start(). Beekon tracks in the foreground, in the background, and after the app is swiped away, writing every fix to a local SQLite history on the device.sync URL and the SDK batches and uploads fixes for you — with retries and token refresh. Leave it unset and nothing ever leaves the device.That’s self-managed mode: you own the backend, or run fully on-device. Beekon Cloud — managed ingest, a console, and remote config — is in private beta; these docs cover the self-managed SDK you can ship today.
Nothing exotic to learn: 12 methods, two config arms, one stream per feature. The API shape is identical on every platform — only the language differs.
Android
Kotlin SDK with FusedLocationProviderClient, a foreground service, Room persistence, and a Flow API. minSdk 26.
io.github.beekonlabs:beekon
iOS
Swift package on CLLocationUpdate.liveUpdates + CLBackgroundActivitySession (and CLServiceSession on iOS 18+). GRDB persistence, AsyncStream API. iOS 17+.
BeekonKit via SwiftPM
Flutter
beekon_flutter — a 1:1 Dart wrapper over both native cores, with a Stream API and resumeIfNeeded() for cold-launch resume. Dart ^3.9, Flutter >=3.32.
beekon_flutter
React Native
@wayq/beekon-rn — a New Architecture TurboModule with on* subscriptions and resumeIfNeeded(). RN 0.76+, iOS 17, Android 8.
@wayq/beekon-rn
Android and iOS are real native libraries, written in Kotlin and Swift — not a shared engine squeezed into both. Flutter and React Native are thin wrappers over those same two cores, so background behaviour, gating, and persistence are identical everywhere.
Beekon admits a fix only when both a minimum time interval and a minimum distance have passed — two scalars, no Kalman filter, no outlier rejection, no speed clamp. The OS provider (FusedLocationProviderClient / Core Location) is the source of truth; Beekon forwards it faithfully. See Configuration for how to pick values.