Furtherance

A cross-platform time tracking app built with Rust and Iced that records tasks with project, tags, and hourly rate — without tracking you.

Furtherance is a privacy-focused time tracking application built with Rust and the Iced GUI framework. It records how long you spend on named tasks, optionally tagged with a project, labels, and an hourly rate — all stored locally with no telemetry, no accounts, and no network access by default. For teams or multi-device users, optional end-to-end encrypted sync is available via Furtherance Sync, which can be self-hosted for free or used as a paid hosted service.

Features

  • Task timer — start and stop a named task with a single click; task names support an optional @Project, #tags, and $rate inline syntax
  • Pomodoro timer — built-in Pomodoro mode with configurable work intervals, short breaks, and long breaks after a set number of cycles
  • Edit history — all recorded entries can be edited after the fact: rename a task, adjust start/end times, or delete entries
  • Cross-platform — runs on Linux, macOS, and Windows from a single Rust codebase
  • Furtherance Sync — optional end-to-end encrypted sync across devices; self-host the server for free or subscribe to the hosted service
  • CSV export — export your full task history to CSV for reporting or import into other tools
  • No tracking — no analytics, no crash reporters, no mandatory cloud; all data lives in a local SQLite database
  • Localized — community-contributed translations available in multiple languages

Installation

Linux (Flatpak — all distributions)

flatpak install flathub io.unobserved.furtherance

Linux (Debian / Ubuntu)

Pre-built .deb packages are available on the releases page. Download and install with:

sudo dpkg -i furtherance_*.deb

Linux (Fedora)

Use the Flatpak above, or build from source with cargo (see below).

macOS

brew install --cask furtherance

Or download the .dmg from the latest release.

Windows

Available from the Microsoft Store, or download the .msi installer from the releases page.

Build from source (all platforms)

# Requires Rust via rustup
cargo install furtherance

Usage

Starting a task

Type the task name in the input field at the top of the window and press Start. To associate a project, append @ProjectName; to add tags, append #tag1 #tag2; to log an hourly rate, append $50:

# Examples of task strings:
# "Write documentation @rustutils #writing $80"
# "Team standup @work #meetings"
# "Deep work session @personal"

Press Stop when you finish. The entry appears immediately in the history list.

Editing an entry

Click any entry in the history list to open the edit dialog. You can change the task name, project, tags, rate, or the exact start and end timestamps. This is useful for correcting a forgotten stop time or splitting a session retroactively.

Pomodoro mode

Enable Pomodoro mode in Settings. Configure the work interval length (default 25 min), short break (5 min), and long break (15 min after 4 cycles). Furtherance will alert you when each interval ends and automatically switch between work and break timers.

Setting up Furtherance Sync

In Settings → Sync, enter the URL of a Furtherance Sync server. You can run the open-source server yourself:

# Self-host the sync server
git clone https://github.com/unobserved-io/furtherance-sync
cd furtherance-sync
cargo run --release

Or subscribe to the hosted service at furtherance.app for a managed instance.

Furtherance vs other time trackers

FeatureFurtheranceTimeularTogglWatson
Written inRustPython
GUI✅ (Iced)Web/Desktop❌ (CLI)
Offline-first
Self-hosted sync
Pomodoro timer
Free and open source
Cross-platform

Furtherance is the right choice for developers and privacy-conscious users who want a lightweight, native time tracker that stores data locally and never phones home. For teams that need shared dashboards and integrations with project management tools, a hosted service like Toggl may be more practical — but for individual tracking, Furtherance has no meaningful trade-offs.