Watch and Reflection - AndhikaNayakaAW/DECO2850-team-project GitHub Wiki

Home · Get started · Design · Architecture · Testing · Deployment · Watch & reflection · Weekly contribution

Watch and reflection

Proposed focus: Offshift helps casual workers reflect on how work fits with their energy, rest and other commitments. This responds to tutor feedback and remains a direction to test with workers.

Week calendar ↗ · Daily reflection ↗ · Browser watch preview ↗

Native Garmin experience

The teammate's native Garmin app is now in the repository. This release extends it with the calendar's cream ground, forest-green ink, warm accent, paper cards, scalable type and four page indicators. Small text uses dark semantic colours; native tests require at least 4.5:1 contrast against cream. Green native menus retain familiar watch controls.

Garmin simulator capture with a synthetic ask. This is not a photograph of the physical watch or evidence of real sensor data.

Page What the worker sees
Ask Sender, workplace, date context and time; press to choose a reply.
Around it / Today Nearby commitments for an ask, or today's plans.
Body Available body words; press for values and sources on the watch.
Calendar Last successful sync, waiting asks and the current sharing choice.

Up/Down or a swipe moves between pages. Select opens the five replies on the first two pages and body details on the last two. Replies require confirmation; deciding later sets a reminder without sending a manager message. Failed sends retain the ask. Successful replies clear any old offline message.

Connection and privacy

The private release targets the protected Vercel watch endpoint. Garmin Connect on the paired phone provides the communication bridge, and Redis holds the shared session. The laptop server and tunnel are no longer required by the deployed architecture.

Sharing is a worker choice. The server receives timestamped bands encoded 0–3, not raw heart rate, Body Battery or other physiological values. Turning sharing off removes the shared wearable record. The team projection does not contain body readings or private plans; shared-code access is still a prototype limitation, not separate employer accounts.

Body words are an interaction representation of available Garmin readings, not a diagnosis or evidence that work caused stress. “Sleep” is an overnight Body Battery recharge proxy, not Garmin's sleep score. Missing readings stay missing.

Browser reflection remains separate

/watch is a circular browser preview with explicit demo loading and file import. Imported numeric readings are unverified because the file's device label is self-reported. This preview does not pair with the Garmin and does not display the live native health bands.

Use Reflect on my day to open /calendar?view=day&date=YYYY-MM-DD. Select an activity, optionally write context, then preview and confirm recovery time. Cancel changes nothing. Reflections and recovery blocks remain in the private browser store rather than a manager reply. A new shared session clears this browser's previous participant data when it next loads.

The main /calendar is now the dated 3D week, following the teammate's update. The daily view is selected explicitly with ?view=day. Earlier September fixtures and phone screens are course history, not the default current scenario.

What has been verified

The native app builds for the confirmed fēnix 8 47mm. All 24 native simulator tests pass; the refreshed Ask screen has been visually inspected. The production API passed 17 synthetic checks and the web app passed 200 tests, type checking and a production build. The app is now installed on the physical fēnix 8 47mm, with an exact SHA-256 match after MTP readback. The owner confirms it opens, currently showing “Phone not connected.” The phone-to-Vercel link and real sensor delivery remain pending.

Reopening with Garmin Connect in the foreground did not resolve the reported connection error. A saved shift in the glance is cached information, not proof of fresh sync; “No reading” is unavailable sensor data. Check a successful Calendar sync time and a fresh server contact before claiming a working physical connection. See the contribution record for the observation method and next device check.

The owner then clarified that the paired phone belongs to someone else and is unavailable for continued testing. This installed release needs an available paired phone running Garmin Connect. USB installation on the Mac does not provide that bridge, and a separate manual Wi-Fi sync feature has not been implemented.

For evaluation, ask workers what they want to understand, which view is easier, whether it supports a useful action and what feels uncomfortable. Test the real data connection, then the visualization, then the whole experience. Technical tests do not establish reduced stress or improved reflection.