Skip to content

aleapc/breakmate-mobile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BreakMate Mobile

Cross-platform companion app for BreakMate G2. Schedules local notifications that forward to Even Realities G2 glasses via the native Even App's notification forwarding.

Why a separate mobile app?

The Even Hub SDK (v0.0.9) does not expose any background/notification API for third-party glasses apps. To deliver alerts without keeping the BreakMate G2 app open in the foreground, this companion mobile app uses local notifications that the native Even App forwards to your glasses (when you have "Notification Access for Even App" enabled in your phone settings).

Stack

  • Expo SDK 54 with React Native 0.81 / React 19
  • expo-notifications for local scheduled notifications
  • AsyncStorage for persistence
  • TypeScript, dark theme

Features

  • Master enable/disable switch
  • 5 reminder types: eyes, water, movement, posture, stretch
  • Per-type interval configuration (1-120 min)
  • Snooze duration (1-30 min)
  • Notification action buttons: Done / Snooze (v0.2.0)
  • Smart scheduling (v0.3.0): respects your calendar — reminders defer 5 min if you're currently in a meeting
  • Quiet hours (v0.3.0): pause reminders during a configurable window (e.g. 22:00 → 07:00); suppressed reminders are rescheduled 15 min later
  • 3 languages: English, Portuguese, Spanish
  • Test reminder button (fires in 2s)
  • Permission request flow

Permissions

  • Notifications (required): to fire reminders
  • Calendar read (optional, v0.3.0): enables "Respect calendar". iOS uses NSCalendarsUsageDescription / NSCalendarsFullAccessUsageDescription; Android uses READ_CALENDAR. BreakMate only reads events — it never writes to your calendar.

Setup

cd D:/dev/breakmate-mobile
npm install
npx expo start

Then:

  • Android: scan the QR code with Expo Go, or npm run android
  • iOS: scan the QR code with the Camera app (then open in Expo Go), or npm run ios (macOS only)

Building for production

For real notifications (not just Expo Go), you'll need a development build:

npx expo install expo-dev-client
eas build --profile development --platform android
eas build --profile development --platform ios

How notifications reach the G2

  1. Enable notifications for BreakMate when prompted
  2. Open the Even Realities app on your phone
  3. Go to Settings → Notification Access and enable "BreakMate"
  4. The G2 glasses will now display BreakMate alerts as overlay notifications, even when no app is open on the glasses

Architecture

src/
├── state.ts           — Types, defaults, todayStr/emptyStats helpers
├── i18n.ts            — pt/en/es translations + reminder messages
├── notifications.ts   — expo-notifications wrapper, scheduling logic
├── calendar.ts        — expo-calendar wrapper, meeting & quiet-hours checks (v0.3.0)
└── storage.ts         — AsyncStorage persistence
App.tsx                — Main UI (settings, intervals, language, test)

About

Cross-platform mobile companion for BreakMate — smart scheduling with calendar integration

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors