TimeCampTimeCamp Docs
New desktop app

Plugins

The plugin system is not yet publicly available. Contact us for early access to start building plugins.

🎯 Overview

The plugin system transforms Desktop Time Tracker from a standalone tool into an extensible platform, empowering users to adapt the application to their unique workflows.

Desktop Time Tracker is built with extensibility at its core, following a plugin architecture similar to VS Code and Obsidian. Just as VS Code transforms from a text editor into a full IDE through extensions, and Obsidian evolves from a note-taking app into a knowledge management system through community plugins, Desktop Time Tracker provides a robust plugin system that allows developers to extend functionality, customize behavior, and integrate with external services without modifying the core codebase.

🏗️ Architecture Principles

Similar to VS Code & Obsidian

Like these popular extensible applications, Desktop Time Tracker's plugin system provides:

  • Isolated Execution: Each plugin runs independently with controlled access to core APIs (similar to VS Code extensions)
  • Rich API Surface: Comprehensive APIs for UI, data access, and system integration (like Obsidian's plugin API)
  • TypeScript-First Development: Full type safety and IntelliSense support throughout development
  • Hot Reload: Rapid development with automatic reload on code changes
  • Community Extensibility: Users can install third-party plugins or build their own

Plugin Capabilities

The plugin architecture follows a sandbox model where each plugin runs in isolation with a well-defined API. Plugins can:

  • Access user activity data through secure queries
  • Create custom windows and UI components
  • Integrate with AI providers for intelligent features
  • Store data in dedicated SQLite databases
  • Communicate with external services
  • Add custom tray menu items and keyboard shortcuts

Core Components

Plugin API - A TypeScript-first interface providing access to:

  • Activity tracking data
  • AI prompt execution with cost tracking
  • Window management and UI rendering
  • Database operations (per-plugin SQLite instances)
  • System notifications and clipboard access
  • Configuration management with validation

Plugin Manifest - Each plugin declares metadata including version requirements, permissions, and capabilities through a manifest.json file.

Hot Reload Development - Plugins can be developed with live reload capability, connecting remotely to the running application for rapid iteration.

✨ Plugin Capabilities

  • Data Access - Query activity records with time filters, and active/passive tracking via TypeScript-typed APIs
  • UI Flexibility - Create standalone windows, main window views, or frameless overlays with full customization
  • AI Integration - Execute prompts through configured providers with automatic cost tracking, caching, and reasoning support
  • Configuration - Define validated user settings with support for string, number, boolean, enum, and action field types

💡 Inspiration for Plugins

  • Project Management Integration: Connect with Jira, Asana, or Linear to auto-log time entries
  • Reporting & Analytics: Generate weekly summaries, productivity charts, or export to custom formats
  • Focus Tools: Detect distracting websites/apps and provide gentle nudges
  • Team Collaboration: Share anonymized productivity patterns with team dashboards
  • Health Reminders: Periodic break notifications based on continuous work detection

On this page