Skip to content

jlmaoju/mytime

Repository files navigation

MyTime

MyTime is a local-first Windows activity tracker. It records foreground-window and idle events into daily CSV files, then exposes a lightweight local viewer for categorization, project mapping, and export.

The primary user experience is a tray icon in the Windows status area. The app runs quietly in the background, keeps the collector alive, and opens the local dashboard only when the user asks for it.

Product Shape

  • Local-only: no cloud account, sync, or remote dependency.
  • File-first: daily logs live in data/, configuration lives in config/.
  • Tray-first: users interact through a status-bar icon, not a constantly visible window.
  • Viewer-on-demand: charts and export live in a local web dashboard.
  • Explicit rules: category and project mapping stay simple and user-editable.

The original product reset rationale is preserved in MyTime-重置计划v0.6.md.

Engineering Baseline

  • collector: monitors the active window and idle state, then appends normalized events to CSV.
  • viewer: reads logs and config through a minimal local Flask API and serves a static dashboard.
  • tray: owns the background app lifecycle, exposes status, and opens the dashboard on demand.
  • scripts: startup and health-check helpers for local development.

Quick Start

  1. Create a virtual environment and install the project.
  2. Run scripts/start.ps1 on Windows PowerShell.
  3. Confirm the tray icon appears.
  4. Use the tray menu to open the dashboard in the browser.
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -e .
.\scripts\start.ps1

You can also start the app directly with python -m mytime.

Default Runtime Layout

MyTime/
|- config/
|- data/
|- docs/
|- logs/
|- scripts/
`- src/

Documentation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors