Przejdź do głównej zawartości

Time Tracking

Ever Gauzy provides multiple time tracking methods to accommodate different workflows and preferences.

Tracking Methods

MethodSourceAuto-ScreenshotBest For
Desktop TimerDESKTOPDaily tracking with screenshots
Web TimerWEB_TIMERQuick tracking from browser
Manual EntryWEB_TIMERRetroactive time logging
Browser ExtensionBROWSER_EXTENSIONTab-based tracking
IntegrationHUBSTAFF/UPWORKImported from external tools

Desktop Timer

The Gauzy Desktop Timer is an Electron-based application that provides:

Features

  • One-click timer — start/stop with project and task selection
  • Screenshot capture — periodic screenshots at configurable intervals
  • Activity tracking — keyboard and mouse activity percentage
  • App tracking — applications used during tracking
  • URL tracking — websites visited (browser extension)
  • Idle detection — detects and handles idle time
  • System tray — runs in background with tray icon
  • Offline support — tracks time when disconnected, syncs later

Timer Flow

Time Slots

Time is recorded in 10-minute time slots:

FieldDescription
startedAtSlot start time
durationDuration in seconds (max 600)
keyboardKeyboard activity count
mouseMouse activity count
overallOverall activity percentage
screenshotsAssociated screenshot records

Web Timer

Available in the web UI at Time Tracker section:

  1. Select organization, project, and task
  2. Click Start to begin tracking
  3. Optionally add a description
  4. Click Stop when done
  5. Time log is created and visible in timesheets

Manual Time Entry

For logging time retroactively:

  1. Navigate to Time Tracker → Add Time
  2. Select date, start/end times
  3. Choose project and task
  4. Add description and billable status
  5. Submit — creates a time log with logType: MANUAL

Time Log Data Model

interface ITimeLog {
id: string;
startedAt: Date;
stoppedAt: Date;
duration: number; // Seconds
logType: TimeLogType; // TRACKED | MANUAL | IDLE | RESUMED
source: TimeLogSourceEnum; // DESKTOP | WEB_TIMER | MOBILE | etc.
description?: string;
isBillable: boolean;
isRunning: boolean;

// Relations
employeeId: string;
projectId?: string;
taskId?: string;
organizationId: string;
tenantId: string;
timeSlots: ITimeSlot[];
}

Idle Handling

The Desktop Timer detects idle periods:

  1. Idle detection — triggered after configurable idle threshold
  2. Idle prompt — asks user what to do with idle time
  3. Options:
    • Keep idle time (tracked as IDLE log type)
    • Remove idle time (deletes the idle period)
    • Resume from idle (RESUMED log type)

Activity Levels

Activity is calculated from keyboard and mouse events:

LevelPercentageIndicator
High75–100%🟢 Green
Medium50–74%🟡 Yellow
Low25–49%🟠 Orange
Very Low0–24%🔴 Red

Configuration

Employee Settings

{
"isTrackingEnabled": true,
"isScreenshotEnabled": true,
"screenshotFrequency": 10,
"trackOnSleep": false,
"randomScreenshot": false
}

Organization Settings

{
"allowManualTime": true,
"allowModifyTime": true,
"allowDeleteTime": true,
"requireReason": false,
"requireProject": true,
"requireTask": false
}