Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Timetracky logo

Timetracky

Manual time tracking & client reporting — built for freelancers who invoice by the hour.

Release License: MIT Go Platform Built with Fyne Sponsor


Timetracky is a small, fast desktop app for manually logging billable time and producing clean PDF time reports to attach to your invoices (e.g. from Wise, Stripe, or your accountant). No timers, no background tracking, no cloud — you fill in your hours the way you'd fill a timesheet, and everything stays in a local database on your machine.

Timetracky calendar view

✨ Features

  • 📅 Calendar logging — a monthly calendar where you click any day to log time. Each day shows the hours already tracked at a glance; today is highlighted.
  • 👤 Clients & rates — manage clients with a default hourly rate and currency. The rate is snapshotted onto each entry, so changing it later never rewrites past work.
  • 📝 Manual entries — flexible duration input (1h30m, 90m, or 1.5), descriptions, and a per-client filter with live totals.
  • 📄 PDF reports — pick a client and date range, generate a tidy time-tracking report, and export it as a polished PDF to attach to an invoice.
  • Billed tracking — mark reported entries as billed so the same hours never get invoiced twice.
  • 💾 Local & private — all data lives in a single SQLite database under your config directory. No account, no server, no telemetry.

📦 Install

Fedora / RHEL / openSUSE (RPM)

Download the latest .rpm from the Releases page and install it:

sudo dnf install ./timetracky-1.0.0-1.x86_64.rpm

Then launch Timetracky from your application menu, or run timetracky from a terminal.

🔨 Build from source

Requires Go 1.25+, a C compiler (Fyne uses CGO), and the X11/OpenGL dev headers.

# Fedora
sudo dnf install golang gcc libX11-devel libXcursor-devel libXrandr-devel \
  libXinerama-devel libXi-devel mesa-libGL-devel
# Debian/Ubuntu
sudo apt-get install golang gcc libgl1-mesa-dev xorg-dev

git clone https://github.com/RaihanStark/timetracky.git
cd timetracky/time-tracker
go build -o timetracky .
./timetracky

🛠️ Run in dev mode

Want to hack on Timetracky without building a binary first? Run it straight from source — Go compiles and launches the app in one step:

cd timetracky/time-tracker
go run .

Or use the Makefile shortcut from the repo root:

make dev    # same as `go run .`
make test   # run the test suite
make build  # produce the `timetracky` binary

🚀 Usage

  1. ClientsAdd Client, set an hourly rate and currency.
  2. Time Entries → click a day on the calendar → Add entry. The rate pre-fills from the client; type a duration like 1h30m and save.
  3. Report → choose the client and date range → GenerateExport PDF. Hit Mark as billed once you've sent the invoice.

🧱 Tech stack

Concern Choice
Language Go
GUI Fyne (+ fyne.io/x calendar widget)
Storage SQLite via pure-Go modernc.org/sqlite
PDF go-pdf/fpdf
Packaging nfpm → RPM, via GitHub Actions

🗂️ Project structure

README.md                   project landing page
LICENSE                     MIT
packaging/                  nfpm config, .desktop entry, icon
.github/workflows/          CI: build + RPM + GitHub release on tag
time-tracker/               the application (Go module)
├── main.go                 window + app bootstrap
└── internal/
    ├── model/              data types, money/duration formatting
    ├── store/              SQLite persistence + legacy JSON import
    ├── report/             report computation + text/PDF rendering
    └── ui/                 Fyne tabs: entries (calendar), clients, report

📍 Data location

Your database is stored at ~/.config/time-tracker/data.db (Linux). Back it up by copying that file. An older data.json is imported automatically on first run.

❤️ Support

If Timetracky saves you time, consider sponsoring the project — it helps keep development going. Thank you!

📄 License

MIT © Raihan

postforge

About

Manual time tracking & client reporting

Resources

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Contributors

Languages