Open source · MIT

Span

Time tracking that ends in an invoice: a week as a grid, one running timer, agreed rounding and ready invoice lines.

v1.0.0 Time tracking that ends in an invoice
Go 1.26chiSQLitehtml/templateDockerApple HIG
Span

A week is a grid, not a feed

Between a notepad with hours in it and a corporate time-and-attendance system there is nothing built for one person: cloud trackers want a subscription and an account per head, corporate ones want a rollout.

Span carries one thing all the way. From pressing start to the lines you paste into an invoice. It knows the rate, the rounding rule and the fact that some work is not billable, so the end of the month leaves a list of items instead of a memory.

What is inside

Week grid

Projects down, days across, totals on both edges. An empty Thursday is as visible as a busy Tuesday.

One running timer

Starting a new one stops the previous: parallel timers invent hours that never happened. The start button sits in the project row.

Rounding per client

By the minute, or up to 5, 10, 15, 30 minutes as agreed. Duration is computed at read time, so changing the rule recalculates last month too.

Rate with an exception

The rate lives on the client, but a project may override it: fixes under an old contract cost less than new development.

Invoice lines

Billable entries fold into one row per project: description, hours, rate, amount. Copy into GoBill or export as CSV.

Single binary

Go and SQLite without cgo, templates and CSS embedded in the executable. Three languages, light and dark themes, the database next to the binary.

Screenshots

Week: running timer on top, hours by day, totals on the edges
Week: running timer on top, hours by day, totals on the edges
Period report and ready invoice lines
Period report and ready invoice lines
Clients and projects: rate, currency, rounding
Clients and projects: rate, currency, rounding
Backdated entry: project, date, from and to
Backdated entry: project, date, from and to
The week in the dark theme
The week in the dark theme
The report in the dark theme
The report in the dark theme

Installation

git clone https://github.com/dripips/span.git cd span docker compose up -d

Have a project or idea?

Write to me and we will talk the task through.