Repository: time-tracker-app | plugin-template | plugins-registry
The Time Tracker ecosystem is organized into a collection of repositories, each serving a specific purpose.
| 🏗️ Repository Type | 📋 Purpose |
|---|---|
| Main Application | Core desktop application |
| Plugin SDK | Development toolkit for plugin creators |
| Plugin Repositories | Individual plugins (one per repository) |
| Plugin Registry | Central hub for plugin discovery |
| ✨ Modularity Each component lives independently |
🚀 Flexibility Plugins evolve at their own pace |
| 🔍 Discoverability Easy to find and install plugins |
👥 Collaboration Community contributions without core changes |
💡 Note: For detailed repository structure, naming conventions, and development guidelines, see the README files in each repository.
The Time Tracker application follows a modular architecture with clear separation between frontend, backend, and plugin systems:
time-tracker-app/
├── backend/ # Rust backend (Tauri)
│ ├── src/
│ │ ├── main.rs # Application entry point
│ │ ├── database.rs # SQLite database operations
│ │ ├── tracker.rs # Core tracking logic
│ │ ├── commands.rs # IPC commands for frontend
│ │ └── plugin_system/ # Plugin infrastructure
│ │ ├── registry.rs # Plugin registry
│ │ ├── api.rs # Plugin API interface
│ │ ├── extensions.rs # Extension system
│ │ ├── loader.rs # Dynamic plugin loading
│ │ └── discovery.rs # Plugin discovery
│ └── Cargo.toml
│
├── frontend/ # React frontend
│ ├── components/ # UI components
│ ├── hooks/ # React hooks
│ ├── services/ # Tauri IPC calls
│ ├── store/ # Zustand state management
│ └── types/ # TypeScript types
│
├── plugin-sdk/ # Plugin SDK crate
│ ├── src/
│ │ ├── plugin.rs # Plugin trait definition
│ │ ├── api.rs # Plugin API interface
│ │ ├── extensions.rs # Extension types
│ │ └── ffi.rs # FFI bindings for dynamic loading
│ └── Cargo.toml
│
└── README.md
-
Separation of Concerns: Clear boundaries between frontend (React/TypeScript), backend (Rust/Tauri), and plugins (Rust dynamic libraries)
-
Plugin System: Extensible architecture allowing plugins to:
- Extend database schema
- Add new data models
- Register custom commands
- Provide UI components
- Hook into data processing
-
Type Safety: Strong typing throughout with Rust on the backend and TypeScript on the frontend
-
IPC Communication: Frontend communicates with backend via Tauri IPC commands
-
Dynamic Loading: Plugins are loaded as dynamic libraries at runtime
Repository: time-tracker-app
Time Tracker is a powerful desktop application that automatically tracks your time and provides deep insights into how you spend your workday. Built with performance and privacy in mind, it runs seamlessly in the background while you work.
Never manually log your time again. Time Tracker monitors your active applications and windows automatically, giving you a complete picture of where your time goes—without any effort on your part.
When you step away, Time Tracker intelligently detects idle time and prompts you to classify it. No more guessing whether you were working or taking a break.
Forgot to track a meeting or call? Add time entries instantly from the system tray. Perfect for offline meetings, thinking sessions, breaks, or any activity that needs manual logging.
Automatically categorize your activities with customizable rules. Set patterns for apps, websites, or window titles, and watch your time organize itself.
Get insights with beautiful charts and breakdowns. View your time by day, week, or month. See which apps you use most, track productivity trends, and identify time-wasting patterns.
Export your time data as CSV or JSON for external analysis, invoicing, or reporting. CSV exports include UTF-8 BOM for perfect Excel compatibility.
Organize your work with projects and tasks. Assign time entries to specific projects, track progress, and see exactly where your effort goes.
Mark projects and categories as billable, set hourly rates, and automatically calculate revenue. Perfect for freelancers and consultants who need accurate billing.
See which websites you visit most. Time Tracker automatically extracts domains from browser activity, helping you understand your browsing habits and stay focused.
Boost productivity with built-in Pomodoro timer. Track focus sessions, take breaks, and integrate with your projects and tasks.
Set daily, weekly, or monthly time goals. Get alerts at 80% progress and celebrate when you hit 100%. Stay motivated and on track.
Navigate quickly with keyboard shortcuts. Jump to Dashboard (Ctrl+1), Reports (Ctrl+3), or create a manual entry (Ctrl+N) in seconds.
Minimize to tray and access everything you need with a right-click. Pause tracking, create entries, or navigate to any view—all without opening the main window.
Start tracking automatically when your computer boots. Never forget to start tracking again.
Track focused thinking and planning time separately with one click. Perfect for deep work sessions that don't involve active application use.
| Problem | Solution |
|---|---|
| Don't know where time goes | Automatic tracking of active applications |
| "No mouse = slacking" | Smart idle detection + manual classification |
| Offline meetings not tracked | Quick entry from tray |
| Thinking ≠ work | Dedicated thinking mode |
| Need to bill clients | Billable time tracking with revenue calculations |
| Want to improve focus | Pomodoro timer with goal tracking |
- 100% Local: All data stays on your computer. No cloud sync, no external servers.
- Lightweight: Uses less than 50MB RAM and minimal CPU resources.
- Fast: Native OS APIs make tracking 10-100x faster than alternatives.
- Private: Your activity data never leaves your device.
Repository: plugins-registry
The Plugin Registry is the central hub for discovering and managing Time Tracker plugins. It provides a curated marketplace where users can browse, install, and update plugins that extend the application's functionality.
- Centralized Discovery: Browse all available plugins in one place
- Easy Installation: One-click install from the marketplace
- Version Management: Automatic updates and compatibility checking
- Plugin Verification: Verified plugins marked for trust and quality
The registry includes a growing collection of plugins:
| Plugin | Description | Repository |
|---|---|---|
| Projects & Tasks | Project and task management with activity linking | plugin-projects-tasks |
| Billing | Billable time tracking with hourly rates and revenue calculations | plugin-billing |
| Pomodoro | Focus session tracking with Pomodoro timer | plugin-pomodoro |
| Goals | Time goals with progress tracking and alerts | plugin-goals |
💡 For Developers: See the plugins-registry repository for detailed information about adding plugins, registry structure, and contribution guidelines. See Key Repositories for all developer resources.
Repository: plugin-template
The Plugin Template provides everything you need to create your own Time Tracker plugin. It includes a complete starter project with Rust backend, React frontend, build system, and comprehensive documentation.
- Rust Backend: Complete plugin structure with SDK integration
- React Frontend: UI component templates
- Build System: GitHub Actions for cross-platform builds
- Plugin Manifest: Configuration file for plugin metadata
- Documentation: Step-by-step guides and examples
-
Use the Template: Click "Use this template" on GitHub or clone the plugin-template repository
-
Configure Your Plugin: Edit
plugin.tomlwith your plugin information -
Implement Your Logic: Add your plugin functionality using the provided structure
-
Build & Release: Use the included GitHub Actions workflow for automated builds
Plugins can extend Time Tracker with:
- Database Extensions: Add custom tables and columns
- Data Models: Extend core entities with new fields
- Custom Commands: Add new functionality accessible via API
- UI Components: Create custom React components for the interface
- Data Hooks: Process and transform data during operations
💡 Ready to Build? Visit the plugin-template repository for detailed documentation, code examples, and step-by-step guides. See Available Plugins for example implementations.
Time Tracker is built on a modular, extensible architecture that enables:
- Core Application: Powerful time tracking with automatic monitoring and professional features
- Plugin System: Extensible architecture for adding new functionality
- Plugin Registry: Centralized marketplace for discovering and installing plugins
- Plugin Template: Complete starter kit for building custom plugins
| Repository | Purpose | Link |
|---|---|---|
| Main Application | Core Time Tracker desktop app | time-tracker-app |
| Plugin Template | Starter template for plugin development | plugin-template |
| Plugin Registry | Central registry for plugin discovery | plugins-registry |
💡 Want to contribute? Check out the plugin-template to start building your own plugin, or browse the plugins-registry to see what's available.