Skip to content

Beekon

Background-first location SDKs for Android, iOS and Flutter. Three native implementations, one normative spec, byte-for-byte parity verified by GPX replay.

Three things, on every platform: location capture, background execution, and a persistent history buffer. Locations come through raw — FusedLocationProviderClient on Android and CLLocationManager on iOS already smooth signals — so Beekon adds no Kalman filter, no outlier rejection, no speed clamp on top.

Persistence lives entirely inside the native library (Room on Android, GRDB on iOS). Writes never cross into Dart or JavaScript, because in background those runtimes are not guaranteed to be alive.

Android

Kotlin SDK with FusedLocationProviderClient, foreground service, Room persistence, and a Kotlin Flow API. Min SDK 24.

io.github.wayqteam:beekon

iOS

Swift package using CLLocationUpdate.liveUpdates on iOS 17+ with a CLLocationManager fallback for iOS 15–16. GRDB persistence, Swift AsyncStream API.

BeekonKit via SwiftPM

Flutter

Dart plugin — Pigeon-generated MethodChannel + EventChannel over the native libraries. The plugin never participates in the write path.

beekon_flutter on pub.dev

PresetDistanceIntervalBatteryUse case
Saver150 m60 s3–8 %Passive background tracking
Balanced (default)100 m30 s5–10 %General tracking
Precision30 m10 s15–25 %Active foreground use

Custom overrides accepted on every preset — see Presets & overrides.