Rest between sets without picking up your phone.
A rest timer for Even Realities G2 smart glasses. Finish a set, tap once, and the countdown runs in your field of view. When the rest is over the display lights up in front of you — no unlocking a phone, no looking for somewhere to put it down between machines.
| Package id | com.howard.evenlift |
| Version | 0.4.0 |
| Permissions | none — "permissions": [] in app.json |
| Network | none; works in airplane mode |
| Languages | English, Traditional Chinese |
| Licence | MIT |
| Privacy & terms | https://h2ocloud.github.io/set-rest-timer/ |
In Review on the Even Hub. Not yet published to the public store. It runs today by sideloading the build onto your own glasses (see Build). Version numbers, screens and the privacy page here describe the build that was submitted.
This is not a native app. An Even Realities G2 application is a web page that runs inside a WebView in the Even companion app on your phone; the phone drives the glasses over Bluetooth. So the project is plain TypeScript + Vite, and it produces two surfaces from one codebase:
- The glasses display — 576 × 288, 4-bit greyscale (16 levels), monochrome green waveguide. No speaker and no camera on G2, so every cue has to be visual. Input is limited to a touch bar on the temple: single tap, double tap (system-level exit), and swipes.
- The phone page — the settings surface, shown inside the Even app.
Because the display is small and the glasses cannot beep, the timer uses a three-stage visual cue instead of a sound, and the last ten seconds flash so you can get back into position.
Glasses display, 576 × 288, captured from the official simulator.
| Idle — tap to start | Rest running |
|---|---|
![]() |
![]() |
| Final ten seconds (flashing) | Time is up |
|---|---|
![]() |
![]() |
Requires Node 18+. The Even Realities SDK, CLI and simulator come from npm as normal dependencies.
npm install
npm run dev # Vite dev server on :5176
npm run check # tsc + layout assertions (12 screens × 2 languages, pixel-measured)
npm run build # tsc --noEmit && vite build -> dist/
npx evenhub pack app.json dist -o SetRestTimer.ehpkRun it in the official simulator (?lang= forces a language; the phone-page buttons are not
clickable in the simulator):
npx evenhub-simulator "http://localhost:5176/?lang=en" --automation-port 9803To try it on real glasses, serve the dev build on your LAN and pair over QR:
npx evenhub qr --url http://<your-lan-ip>:5176then scan the QR code with the Even app on your phone.
.ehpk packages are build artifacts and are not committed to this repository.
One gesture on the glasses: tap always moves to the next stage — from ready it starts the
rest countdown, during a rest it ends the rest early, and on the alert it dismisses it and
returns to ready. So one set costs exactly one tap. Double tap is the system-level exit.
The rest interval is set once on the phone
page. There are no routines, no stats and no training log — deliberately; the design notes in
docs/NOTES-zh.md explain what was removed and why.
The application makes no network connections and collects nothing. The only value it stores is your chosen rest interval, kept in the app's own storage on your phone and removed when you uninstall it. Full text: https://h2ocloud.github.io/set-rest-timer/
The design documents are written in Traditional Chinese and kept as they were during development, including the parts that record mistakes.
| File | Contents |
|---|---|
docs/SA.md |
Requirements, scope decisions, what was cut and why |
docs/SD.md |
Architecture, state machine, geometry, timing |
docs/UIUX.md |
Layout, legibility measurements on the G2 font |
docs/QA.md |
Test cases, screenshots, defects, and what was not verified |
docs/NOTES-zh.md |
The original development README / version history |
MIT — see LICENSE.
Not affiliated with or endorsed by Even Realities. "Even Realities" and "G2" are the trademarks of their respective owner and are used here only to say what hardware this runs on.
組間休息不用再掏手機。
跑在 Even Realities G2 智慧眼鏡上的組間休息計時器。做完一組 輕點一下就開始倒數,時間到畫面直接在眼前亮起來提醒你——不必解鎖手機,也不必在器材之間找地方 放手機。最後十秒會閃動,讓你有時間回到定位。
這不是原生 app。 G2 的應用程式是一個網頁,跑在手機 Even app 的 WebView 裡,由手機透過藍牙 驅動眼鏡顯示。所以整個專案就是 TypeScript + Vite,同一份程式碼產出兩個介面:眼鏡畫面 (576×288、4-bit 灰階、單色綠波導)與手機設定頁。G2 沒有喇叭也沒有相機,所以提示只能是視覺的, 這也是三階段視覺提示與最後十秒閃動的由來。
- 狀態:目前在 Even Hub 審查中(In Review),尚未在公開商店上架。想用的話請自行建置後 側載到自己的眼鏡上。
- 權限:
app.json的permissions: [],完全不連網,飛航模式下功能相同。設定只存在手機本機, 移除 app 即刪除。 - 操作:眼鏡上只有一個主動線手勢——tap 開始休息倒數、再 tap 提早結束;double-tap 是系統級離開。
休息秒數在手機頁設定一次即可。沒有課表、沒有統計、沒有訓練紀錄,刪掉的理由寫在
docs/NOTES-zh.md。 - 建置:
npm install→npm run build→npx evenhub pack app.json dist -o SetRestTimer.ehpk。 模擬器npx evenhub-simulator "http://localhost:5176/?lang=zh" --automation-port 9803。 - 隱私政策與使用條款:https://h2ocloud.github.io/set-rest-timer/
- 授權:MIT。與 Even Realities 無隸屬關係,亦未獲其背書。
設計文件(docs/ 底下的 SA/SD/UIUX/QA)全部是中文,維持開發當時的原貌,包含記錄失誤的段落。



