solidtime is an open-source time-tracking application built with Laravel and Vue.js, designed specifically for freelancers and agencies who need precise control over their time data. Unlike cloud-only alternatives, solidtime empowers users to self-host the application on their own infrastructure, ensuring data privacy and customization. The app supports complex workflows including multi-organization management, billable rate configurations, project-task-client hierarchies, and seamless data import from Toggl and Clockify. With a strong focus on transparency and community contributions under the AGPL v3 license, solidtime is ideal for technical teams seeking a fully controllable time-tracking solution without vendor lock-in.
What You Get
- Time tracking with modern UI - Track time via a clean, intuitive interface with start/stop timers and manual entry options, optimized for daily use by freelancers and small teams.
- Projects, Tasks & Clients management - Create hierarchical structures: clients > projects > tasks, enabling detailed time allocation and reporting for client billing.
- Multi-organization support - Manage multiple organizations under a single account with isolated data, ideal for agencies serving diverse clients or teams operating independently.
- Billable rate customization - Set billable rates at multiple levels: organization, team member, project, or client, enabling precise invoicing and profitability analysis.
- Roles and permissions - Define user roles with granular access controls to ensure data security across teams and organizations.
- Import from Toggl, Clockify, and CSV - Migrate existing time entries with built-in importers that support Toggl exports, Clockify CSV formats, and custom Timeentry CSV files.
Common Use Cases
- Building a freelance agency with multiple clients - A freelancer managing 10+ clients uses solidtime to track time per project, assign billable rates per client, and generate invoices—all while keeping data self-hosted for compliance.
- Transitioning from Toggl to a private solution - A team exports 2 years of time entries from Toggl using the CSV importer and migrates to solidtime to avoid subscription fees and gain full data ownership.
- Problem: Losing billable hours due to untracked time → Solution: solidtime’s timer + manual entry - Freelancers forget to log short tasks; solidtime’s persistent timer and one-click start/stop reduce untracked time by 40%.
- DevOps teams managing internal tools - A small dev team uses solidtime to track hours spent on client-facing projects vs. internal tooling, using organization isolation to separate billing data from R&D work.
Under The Hood
SolidTime is a self-hosted time tracking and project management platform built with Laravel and Vue, emphasizing auditability, extensible organization structures, and flexible user role handling. It provides a comprehensive solution for teams looking to manage work hours and projects with strong internal controls and customization options.
Architecture
The application follows a layered architecture that promotes separation of concerns and maintainability, leveraging Laravel’s ecosystem effectively.
- The system uses a clear division between domain logic, infrastructure, and presentation layers to ensure modularity and testability
- Modular organization is implemented through Laravel Modules and dedicated directories for actions, commands, enums, events, and exceptions
- Design patterns such as Action Classes, Command Pattern, and Strategy Pattern are consistently applied to encapsulate business logic and handle operations
- Service providers, event-driven architecture, and dependency injection are used to manage component interactions with loose coupling
Tech Stack
The platform is built as a full-stack web application using PHP, Laravel, and Vue.js, with modern frontend and backend tools integrated for a seamless experience.
- The core is built on PHP and Laravel, with Vue.js powering the frontend through Inertia.js for a unified development approach
- Key dependencies include Filament for admin interfaces, Laravel Modules for modularity, OwenIt/Auditing for audit trails, and Maatwebsite/Excel for data exports
- Development tools encompass Vite for asset building, Tailwind CSS for styling, and TypeScript/JavaScript for enhanced development workflows
- Testing is supported by PHPUnit, Playwright, ESLint, Prettier, and PHPStan for linting and static analysis
Code Quality
The codebase reflects a mature development approach with consistent practices, strong testing coverage, and adherence to established conventions.
- Comprehensive test suites are in place for backend logic and end-to-end functionality, ensuring reliability and reducing regressions
- Error handling is implemented consistently across modules with clear exception management and user feedback mechanisms
- Code style and structure are maintained through linting, formatting tools, and standardized directory layouts that promote consistency
- The project demonstrates good use of automated tooling to enforce quality standards and maintain code hygiene
What Makes It Unique
SolidTime distinguishes itself through its focus on auditability, extensible organization structures, and thoughtful handling of user roles and placeholders.
- Advanced auditing capabilities are built-in to track changes across the system, supporting compliance and transparency needs
- The platform supports extensible organization management with flexible role-based access control and placeholder user handling
- It provides a self-hosted deployment model that gives users full control over their data and infrastructure
- The integration of Laravel Modules and Inertia.js enables a clean separation between backend services and responsive frontend experiences