Z8 Docs
Features

Time Tracking

Clock in and out with the z8 Timer desktop app

Time tracking is the core feature of the z8 Timer. One click to start, one click to stop.

The Clock Button

The large circular button in the center of the app handles all time tracking:

Not Clocked In

     ┌─────────────────┐
     │                 │
     │       ▶️         │  ← Green, play icon
     │                 │
     └─────────────────┘
       Ready to work
  • Color: Green gradient
  • Icon: Play (▶️)
  • Text below: "Ready to work"

Clocked In

     ┌─────────────────┐
     │                 │
     │    02:34:15     │  ← Red, shows elapsed time
     │                 │
     └─────────────────┘
       Currently Working
  • Color: Red gradient
  • Icon: Stop (⏹️) or elapsed time
  • Text below: "Currently Working"

Clocking In

Click the tray icon

Find the z8 Timer icon in your system tray and click it

Click the clock button

Press the large green button showing the play icon

Confirmation

  • Button turns red and starts showing elapsed time
  • Tray icon changes from gray to green
  • Toast notification: "Clocked in successfully"

Clocking Out

Click the tray icon

The icon should be green, indicating you're clocked in

Click the clock button

Press the red button showing your elapsed time

Confirmation

  • Button turns green and shows play icon
  • Tray icon changes from green to gray
  • Toast notification: "Clocked out successfully"

Clock Out with Break

When idle detection triggers, you can record a break period:

Idle detected

After 5 minutes of no activity, then resuming activity, an idle dialog appears

Choose "I was on break"

This records the idle period as a break

Automatic handling

  • Clocks you out at the moment you went idle
  • Immediately clocks you back in
  • Break period is recorded accurately

Learn more about idle detection →


Elapsed Time Display

While clocked in, the button shows a live timer:

DisplayMeaning
00:00:1515 seconds
00:05:005 minutes
01:30:451 hour, 30 minutes, 45 seconds
08:00:008 hours exactly

The timer:

  • Updates every second
  • Uses monospace font for stability
  • Calculates from your clock-in time, not a running counter

Accurate Time

The elapsed time is calculated from your actual clock-in timestamp, ensuring accuracy even if you close and reopen the app.


Status Indicator

The footer shows your current status:

StatusIndicatorMeaning
Not clocked in○ Gray dotReady to start working
Clocked in● Green dotCurrently tracking time
Syncing◐ AnimatedCommunicating with server
Offline◐ Yellow dotQueued for sync

Keyboard Shortcuts

For power users:

ShortcutAction
Ctrl/Cmd + Shift + TToggle clock in/out
Ctrl/Cmd + Shift + DOpen z8 dashboard in browser

Keyboard shortcuts work globally when the app is running, even if the window is closed.


API Integration

Time entries are synced to your z8 server:

Clock In

POST /api/time-entries
{
  "action": "clock_in",
  "timestamp": "2024-01-15T09:00:00Z"
}

Clock Out

POST /api/time-entries
{
  "action": "clock_out",
  "timestamp": "2024-01-15T17:30:00Z"
}

Offline Handling

If the API is unreachable:

  1. Action is queued locally (SQLite)
  2. UI updates optimistically
  3. Background processor retries every 30 seconds
  4. Syncs automatically when connection restored

Best Practices

  • Clock in when you start - Don't wait until after your first task
  • Clock out for long breaks - Lunch, appointments, etc.
  • Trust idle detection - It catches breaks you forget
  • Check the tray icon - Quick visual status check
  • Keep the app running - Minimize to tray, don't quit

On this page