Watch-first, billable-aware time tracking for Android and Wear OS.
SessionLedger is designed for professionals who want a fast "start/stop" workflow from a Wear OS tile, with billing rules that match real client work: categories/jobs, hourly rates, 6-minute rounding, and minimum billable time/charge.
- Watch tile: Start / Pause / Resume / End
- Big elapsed timer (tile-first workflow)
- Optional job selection: Uncategorized or pick from existing phone-defined categories
- Watch app screens:
- Session control screen
- Pick Job screen (read-only list synced from phone)
- Start / Pause / Resume / End (fully functional without a watch)
- Sessions list + session editor
- Categories (jobs/clients/projects): create/edit/archive
- Hourly rate: global default + category default + per-session override
- Rounding: Exact or 6-minute increments (Up/Nearest/Down), global/category/session overrides
- Minimums: minimum billable time and/or minimum charge, global/category/session overrides
- Reports: totals overall + by category (tracked vs billable vs amount)
- Export to CSV
- Store raw tracked time exactly.
- Compute billable time from: rounding, then minimum time floor, then minimum charge floor.
- Precedence for rate/rounding/minimums: Session override > Category > Global.
See docs:
docs/spec_v1.mddocs/billing_rules_v1.mddocs/csv_schema_v1.mddocs/ux_wireflow.mddocs/chat_outputs_step2.md(staging code blocks from this chat)
docs/Planning specifications and UX flowsandroid/Android Studio project (mobile + wear modules) (to be created)
Intended license: Apache License, Version 2.0. See LICENSE_INSTRUCTIONS.md to add the canonical license text.
PellDomPress
Planning complete. Implementation begins with data layer (Room + settings + billing engine + CSV export), then UI, then Wear tile.