Introduction
Solidtime is a modern, open-source time tracking application built for freelancers and teams. It combines a clean, responsive interface with powerful features like project-based tracking, billable hours, reporting, and REST API access, all running on your own server with Laravel and Vue.js.
What Solidtime Does
- Tracks time with one-click start/stop timers or manual entry with project and task assignment
- Organizes time entries by clients, projects, and tasks with hierarchical structure
- Generates detailed reports with filters for date ranges, projects, team members, and billable status
- Provides a REST API for integrating time data with invoicing, payroll, or project management tools
- Supports team workspaces with member roles, permissions, and shared project visibility
Architecture Overview
Solidtime is built on Laravel with a PostgreSQL or MySQL database. The Vue.js frontend communicates through a RESTful API with token-based authentication. Time entries are stored with start/end timestamps, project associations, and metadata. The reporting engine aggregates data server-side with configurable grouping and filtering. Background jobs handle exports and scheduled reports via Laravel's queue system.
Self-Hosting & Configuration
- Deploy with Docker Compose for a bundled setup with PHP, PostgreSQL, and Redis
- Configure database credentials and
APP_KEYin the.envfile - Run
php artisan migrate --seedto initialize the database schema and default admin user - Set up SMTP credentials for email notifications and team invitations
- Configure OAuth providers for SSO login if connecting to an existing identity system
Key Features
- Clean, modern UI with dark mode, keyboard shortcuts, and a responsive mobile layout
- Billable vs. non-billable tracking with per-project hourly rates and currency support
- Detailed reports exportable to CSV, PDF, or accessed via the API for custom integrations
- Tags and descriptions on time entries for granular categorization beyond project/task hierarchy
- Multi-organization support for freelancers managing separate client workspaces
Comparison with Similar Tools
- Toggl Track — Cloud-based with paid plans; Solidtime is free, self-hosted, and feature-comparable
- Kimai — Mature time tracker but older UI; Solidtime has a more modern design and developer experience
- Clockify — Free tier with cloud lock-in; Solidtime keeps all data on your server
- Harvest — Commercial with invoicing; Solidtime focuses on time tracking with API-based invoicing integration
- Traggo — Minimal tag-based tracker; Solidtime provides structured project/client hierarchy and reporting
FAQ
Q: Can I import time entries from other tools? A: Solidtime supports CSV import for time entries. Community-contributed import scripts exist for Toggl and Clockify data formats.
Q: Is there a mobile app? A: The web interface is fully responsive and works well on mobile browsers. A PWA mode allows adding it to your home screen for quick access.
Q: How does billing integration work? A: Mark time entries as billable, set hourly rates per project, and export billing summaries via the API or CSV to feed into your invoicing tool.
Q: Can I track time for multiple organizations? A: Yes. Solidtime supports multiple organizations per user, each with separate clients, projects, and team members.