mobileapp  by coredevices

Cross-platform companion app for wearables

Created 1 year ago
781 stars

Top 44.1% on SourcePulse

GitHubView on GitHub
Project Summary

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

  • Android Build: ./gradlew :composeApp:assembleRelease (requires google-services.json).
  • iOS Build: Open iosApp/iosApp.xcworkspace in Xcode.
  • Prerequisites: Java 17, CocoaPods, Google Services configuration (google-services.json/GoogleService-Info.plist), GitHub token for speex module (in local.properties), Apple Developer account.
  • Licensing Info: https://ericmigi.notion.site/Core-Devices-Software-Licensing-1c0fbb55ea8480f88d27ccf20fcb84a8.

Highlighted Details

  • Full support for all Pebble watches and Pebble Index 01 rings.
  • Cross-platform development via Kotlin Multiplatform and Compose Multiplatform.
  • Integrated AI assistant (index-ai) with on-device LLM inference and audio processing.
  • Robust communication layer (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.

Health Check
Last Commit

3 days ago

Responsiveness

Inactive

Pull Requests (30d)
18
Issues (30d)
22
Star History
18 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.