Discover and explore top open-source AI tools and projects—updated daily.
coredevicesCross-platform companion app for wearables
Top 44.1% on SourcePulse
This project delivers the official open-source companion mobile application for Pebble watches and Pebble Index 01 rings. It acts as a vital gateway, maintaining a persistent Bluetooth connection to relay notifications, sync data (time, weather, calendar, health), manage watchapps, and proxy network requests, thereby unlocking full device functionality.
How It Works
The app utilizes Kotlin Multiplatform and Compose Multiplatform for a unified codebase and UI across Android and iOS. Core logic resides in commonMain, with platform-specific implementations via expect/actual. libpebble3 manages communication using the binary Pebble Protocol over Bluetooth. BlobDB synchronizes data (notifications, contacts) between the phone's Room database and the watch. PebbleKit JS enables watchapps to run JavaScript on the phone for network access and configuration.
Quick Start & Requirements
./gradlew :composeApp:assembleRelease (requires google-services.json).iosApp/iosApp.xcworkspace in Xcode.google-services.json/GoogleService-Info.plist), GitHub token for speex module (in local.properties), Apple Developer account.https://ericmigi.notion.site/Core-Devices-Software-Licensing-1c0fbb55ea8480f88d27ccf20fcb84a8.Highlighted Details
index-ai) with on-device LLM inference and audio processing.libpebble3) for Pebble Protocol and BlobDB sync.Maintenance & Community
Maintained by full-time developers; PR reviews may be delayed. Bug reporting is preferred via the app's in-app feature over GitHub issues. No explicit community channels or roadmaps are detailed.
Licensing & Compatibility
Dual-licensed: free under GNU GPLv3, or via a paid Core Devices Commercial License. Apple App Store distribution allows MPL 2.0 for executable versions (if GPLv3 compliant). GPLv3 imposes copyleft requirements.
Limitations & Caveats
Certain features (e.g., Google login, developer integrations) require API tokens in gradle.properties. Strict naming conventions apply: "Pebble" cannot be used as a primary name for derived apps. Contribution review may be slow.
3 days ago
Inactive