Skip to content

Brettchr301/task-timer-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Timer Tracker

A PowerShell WPF desktop application for tracking time spent on tasks with running timers, daily/weekly summaries, and timesheet export. Built for Windows -- a personal Toggl that runs natively without browser dependencies.

Features

Timer Engine

  • One-click start/stop/pause/resume with live HH:MM:SS display
  • Only one timer runs at a time -- starting a new task automatically stops the previous one
  • Manual time entry for retroactively logging work
  • Precise duration tracking with pause accumulation

Task Organization

  • Tasks organized by Client, Project, and Category
  • Tag support for flexible cross-cutting labels
  • Billable vs. non-billable tracking per entry
  • Favorite and recent task quick-access (last 25 tasks remembered)
  • Recurring tasks auto-populated by day of week

Reporting

  • Daily timesheet with per-task breakdown
  • Weekly summary with day-by-day columns
  • Monthly totals with utilization percentage
  • Breakdown views: by client, by project, by category
  • Billing estimates using configurable hourly rates per client

Export

  • CSV export for timesheet system import (standard or grouped format)
  • Excel export with formatted sheets and optional invoice summary
  • Clipboard export (tab-delimited) for pasting into spreadsheets or time systems
  • Weekly and monthly report generation

Idle Detection

  • Detects user inactivity via Win32 GetLastInputInfo
  • Configurable idle threshold (default: 5 minutes)
  • When you come back, prompts: "You were idle for X minutes. What were you doing?"
  • Options: add idle time to the last task, create a new entry, or discard

Daily Targets

  • Configurable target hours per day and per week
  • Progress bar showing tracked vs. target
  • Separate billable target tracking
  • Utilization calculation (tracked / target)

UI

  • Dark mode WPF interface
  • Timer bar at top with current task, elapsed time, and control buttons
  • Quick task selector with recent/favorite task buttons
  • Entry list with double-click to edit or delete
  • Right panel: daily progress, billable summary, project breakdown
  • Mini calendar showing which days have entries
  • System tray integration (minimize to tray, tray context menu)
  • Keyboard shortcuts: Ctrl+Space (start/stop), Ctrl+N (new task), Ctrl+M (manual entry)

Use Cases

  • Freelancers: Track billable hours per client, generate invoice data at month-end
  • Consultants: Log time across multiple projects, export weekly timesheets
  • Employees: Meet daily hour targets, paste time into corporate timesheet systems
  • Anyone: Understand where your time actually goes during the work day

Getting Started

  1. Double-click START.vbs to launch (or run UI.ps1 directly in PowerShell)
  2. Type a task name, select a project, and click Start
  3. When done, click Stop -- the entry saves automatically
  4. Use the right panel to monitor your daily progress

Configuration

Edit config.json to set up:

  • clients -- Name, hourly rate, billable flag
  • projects -- Name, associated client, display color
  • categories -- Activity types (Development, Meetings, Admin, etc.)
  • recurringTasks -- Tasks that auto-appear on specific days of the week
  • targets -- Daily/weekly hour goals, billable hour target
  • idleDetection -- Enable/disable, idle threshold in minutes
  • export -- CSV delimiter, date/time format, rounding

Export Formats

Format Description Use Case
CSV (standard) One row per entry with all fields Import into time tracking systems
CSV (grouped) Entries grouped by date + task, hours summed Simplified timesheet submission
Excel Formatted workbook with detail + invoice sheets Client billing, manager review
Clipboard Tab-delimited text Paste into any spreadsheet or web form

Data Storage

Time entries are stored as JSON files in the data/ folder, one file per date (YYYY-MM-DD.json). This makes entries easy to back up, sync, or inspect manually.

Requirements

  • Windows 10/11
  • PowerShell 5.1 or later
  • .NET Framework 4.5+ (included with Windows)
  • Excel COM automation (optional, for Excel export -- requires Microsoft Excel installed)

About

A PowerShell WPF desktop application for tracking time spent on tasks with running timers, daily/wee

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors