Engineering case study
Exereye.
iOS + Chrome.
Exereye brings guided screen breaks into a daily routine. Its iPhone app and Chrome extension share a product idea, with experiences built around the capabilities of each platform.

The problem
A reminder is useful only if it fits the day. The product needs dependable scheduling, an understandable session flow, and progress that survives closing the app or browser.
The architecture
The iOS app uses SwiftUI, a SwiftData-backed store, an exercise engine, and dedicated notification and audio services. Widget snapshots make selected state available outside the app. The Chrome extension uses WXT, React, and TypeScript with a Manifest V3 background service worker.
Decisions that shape the product
Give time a reliable owner.
The browser extension schedules reminders with Chrome alarms. Its background process can wake for the next event, rather than relying on an open popup or an always-running page.
Keep the browser’s scope narrow.
The extension declares alarms, storage, and notifications permissions. Break guidance does not require reading the contents of the websites a person visits.
Separate the session from its presentation.
A dedicated exercise engine and domain models coordinate native session behavior. Persistence, audio, notifications, and subscription state sit in separate services.
How the parts connect
- 01SchedulePlatform notification / alarm APIs
- 02GuideA focused break or exercise flow
- 03RememberLocal session and progress state
- 04ReturnApp, widget, or browser popup
Engineering focusSwiftData persistence · Native session state · Background scheduling · Browser extension architecture
Visit Exereye