In simple English
This tool helps you log how many hours you spend on different client projects. You can run it on your own server or use the free public website. It gives you reports so you can bill your clients accurately. You pay nothing for the software, but you need your own server if you do not want to use their public site. It focuses only on time tracking without extra bloat.
What it is
Titra is a self-hosted time-tracking web application built for freelancers and small teams. It lets you record work hours and export reports in a clean browser interface.
What it is good for
Solo builders and freelancers who want to track hours across multiple clients and projects without paying for commercial SaaS subscriptions.
- Runs easily using Docker (a way to run a program inside its own sealed box, so it cannot break anything else on your server).
- Includes a clean interface with a dark mode option.
- Offers fast performance with an efficient web layout.
- Requires basic server management skills if you want to self-host it.
- Uses MongoDB (a database program that stores data in flexible documents rather than rigid tables), which you must maintain.
- Licenced under AGPL-3.0 (a software licence that requires you to share your code if you modify it and let people use it over a network), which may affect commercial redistribution.
Manual time logs in spreadsheets or paid subscription tracking tools.
Wekan for task management and project planning.
- kimai/kimai5.1k stars
A popular open-source time-tracking system with extensive invoicing and multi-user features.
- btcpayserver/btcpayserver7.8k stars
Payment software you run yourself that takes Bitcoin into a wallet whose keys you hold.
- hledgerorg/hledger4.8k stars
Double-entry accounting over plain text files, with command-line, terminal, web and editor interfaces.
- akaunting/akaunting10k stars
Self-hosted invoicing and expense tracking, with the double-entry accounting sold separately as an add-on.
curl -L https://raw.githubusercontent.com/titraio/titra/refs/heads/master/docker-compose.yml | ROOT_URL=http://localhost:3000 docker-compose -f - up