Focus Harbor
Inspiration
Focus Harbor treats a television as a calm, visible interval companion rather than a notification-heavy productivity dashboard. The idea is to make a work/break rhythm legible from couch distance, with a large clock, a clear current phase, and a small record of completed intervals.
What it does
The app starts in a Deep work interval and alternates with a Recovery break. Work can be set from 1–120 minutes and breaks from 1–60 minutes, with 25 and 5 minutes as the defaults. Start, pause, and skip are available as visible controls; completing or skipping an interval advances to the next phase and records the event. The recent log shows the latest six entries and a total count. Local data can be cleared. It is not cloud-synced and is not a substitute for professional advice.
How we built it
This is a native Android WebView host for Fire OS, with an offline HTML/CSS/JavaScript interface bundled in the APK. The Java host blocks external resources and loads the app from packaged assets. The UI uses large high-contrast cards, visible focus rings, and keyboard/DPAD-friendly buttons. A small JavaScript domain module owns clamping, time formatting, phase changes, and completion records; browser storage is best-effort. There are no network calls, analytics, external fonts, or runtime frameworks.
What we learned
A TV timer needs a simple state model: a deadline while running and a remaining duration while paused. Keeping that logic separate from rendering makes pause, resume, skip, and automatic phase changes predictable. Explicit buttons and a visible phase are more reliable for remote navigation than desktop-style controls.
Challenges
Timer state must remain understandable across Back/Escape and lifecycle pauses, while focus must remain visible at 10-foot distance. Storage can be unavailable, so the app continues in memory and communicates that limitation. The included caption/media assets are desktop local previews, not real-TV evidence.
Verification and next steps
Node domain tests and desktop Chromium flows were executed. Physical FireOS hardware was not tested; the development APK targets Android-based Fire OS 7 or newer, not Vega OS. Next steps are a real-device acceptance pass for D-pad reachability, sleep/resume, long timers, overscan, persistence, legibility, and no-internet behavior, followed by a genuine device demonstration. This entrant-review draft was AI-assisted and should be reviewed against the source before submission.
Log in or sign up for Devpost to join the conversation.