A Pebble smartwatch application designed to protect your eyes using the 20-20-20 rule while tracking your screen time.
Blinkr is built using Rust for the watchapp and TypeScript for the phone configuration and companion app integration (via PebbleKit.ts).
- 20-20-20 Rule: Reminds you every 20 minutes to look at something 20 feet away for 20 seconds to reduce eye strain.
- Screen Time Tracking: Logs and tracks your active screen time intervals.
- Configurable: Settings like the notification interval can be configured directly from your phone or the watch itself.
- Watchapp: Written in Rust using pebble-rs.
- Companion App (Phone-side): Written in TypeScript using PebbleKit.ts and Clay for configurations.
-
Install Dependencies: Ensure you have Node.js and npm installed, then run:
npm install
-
Rust Toolchain: You need a Rust toolchain targeted for embedded ARM development (
thumbv7m-none-eabi).
Since this project leverages Rust, do not use the standard pebble build. Instead, use cargo-pebble from the pebble-rust project:
cargo pebble buildImportant
The build command relies on pebble-cli from the pebble-rust repository. Make sure you follow the installation instructions there to set up the build environment.
During compilation:
- TypeScript code in
src/ts/will compile into JavaScript insidesrc/ts-build/. - Rust source files will compile and link with the Pebble SDK resources.
This project is licensed under the MIT License - see the LICENSE file for details.