Local-first time tracking & productivity monitoring β with optional remote sync.
Built with Tauri 2, Rust, and Vue 3. All data stays on your machine by default.
Turn on Online Mode to sync to your own server.
β¬οΈ Download Latest Β· β€οΈ Support Me
SQLite database on your machine. Zero network requests unless you enable Online Mode. No cloud, no telemetry, no accounts required.
Toggle Online Mode in Settings β API Config. Every operation routes through 46 customizable API endpoints β URL, HTTP method, headers, and bearer token are all configurable. Point it at any server.
ββ Settings β API Config βββββββββββββββββββββββββββββββββββ
β Mode: [Offline] / [Online] β
β Bearer Token: [β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’] β
β β
β ββ Auth (4) βββββ [βΌ] βββββββββββββββββββββββββββββββββ β
β β β auth_register POST [https://my-server.com/...] β β
β β β auth_login POST [https://my-server.com/...] β β
β β β auth_validate GET [https://my-server.com/...] β β
β β β auth_logout POST [https://my-server.com/...] β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β ββ Sessions (3) ββ [βΌ] ββββββββββββββββββββββββββββββββ β
β β ... β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β (18 groups, 46 endpoints total) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Each endpoint entry includes the request body spec and response body spec β so you know exactly what your server needs to handle.
When Online Mode is active, local data syncs to your server every 30 seconds:
- Time logs, URLs, activity events, session state, tracking status
- Background queue with exponential backoff retry (5 attempts)
- Queue status shown in sidebar (pending/failed count)
- Retry failed jobs from Settings β API Config
- Queue persists across app restarts (localStorage)
Every operation routes through a proxy. Online mode tries the API first, falls back to local invoke. Offline mode calls local invoke directly. Works for:
| Category | Operations |
|---|---|
| Auth | login, register, validate, logout |
| Tracking | start/stop session, set/get status |
| Data | time logs, URLs, screenshots, activity, input stats |
| Dashboard | today summary, filtered range |
| Admin | list/create users, stats, drill-down (screenshots, logs, activity, URLs, input stats) |
| Categories | get all, update |
| Settings | get, update |
| App Config | get, save |
| Backup | export, import |
| Pomodoro | start, skip, stop, status |
| Autostart | set, get |
| Reset | factory reset |
Detects active windows, application names, and browser URLs. Tracks keyboard/mouse input for accurate active/idle time analysis.
Configurable interval screenshots with multi-monitor support. Full-screen preview. Disable anytime.
Daily, weekly, monthly, yearly views with date filtering. Active time, idle time, keyboard/mouse count, productivity score, app breakdown, recent URLs.
Company/team mode with admin and employee roles. Admins manage users, view team productivity, control settings centrally.
Draggable timer overlay with pause/resume. Click-through mode β interact with apps underneath. Only visible when tracking is active/paused.
Built-in focus session timer. Auto-starts with tracking. Auto-switches: focus β short break β long break. Configurable durations. Sound notifications.
Dark/light/system themes. English and Bengali localization. System tray integration with live timer tooltip.
Auto-backup configurable (daily/weekly/monthly). Manual export/import as ZIP. Includes: tracker.db, screenshots/, api-config.json.
| Layer | Technology |
|---|---|
| Frontend | Vue 3, TypeScript, Vite, Chart.js |
| Backend | Rust, Tauri 2 |
| Database | SQLite (rusqlite) |
| i18n | vue-i18n |
| Tracking | active-win-pos-rs, device_query |
| API Config | JSON file in app data dir |
| Job Queue | localStorage + fetch API |
- Open Settings β API Config
- Switch mode to Online
- Set your Bearer Token (if your server requires auth)
- Expand each group and fill in your server URLs
- Each endpoint shows the request body spec and response body spec
- Enable the endpoints you need
- Click Sync Now to test
The app always works locally β Online Mode only adds sync on top.
GitHub Releases β Windows 64-bit & 32-bit MSI/EXE installers.
git clone https://github.com/AbiruzzamanMolla/Deskrona-Time-Tracking-Software.git
cd Deskrona-Time-Tracking-Software
npm install
npm run tauri dev # dev mode
npm run tauri build # production buildMIT