Android
Kotlin SDK with FusedLocationProviderClient, foreground service, Room persistence, and a Kotlin Flow API. Min SDK 24.
io.github.wayqteam:beekon
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
| Preset | Distance | Interval | Battery | Use case |
|---|---|---|---|---|
| Saver | 150 m | 60 s | 3–8 % | Passive background tracking |
| Balanced (default) | 100 m | 30 s | 5–10 % | General tracking |
| Precision | 30 m | 10 s | 15–25 % | Active foreground use |
Custom overrides accepted on every preset — see Presets & overrides.