#time #timer #iced #time-keeper #coutdown

app time_keeper

TimeKeeper is the simplest cross-platform program for PC time tracking. It is used to periodically remind the user of the need to take breaks while working on a PC.

4 releases (2 stable)

Uses new Rust 2024

new 1.0.1 May 5, 2025
1.0.0 Apr 17, 2025
0.3.2 Apr 13, 2025

#34 in GUI

Download history 103/week @ 2025-04-02 363/week @ 2025-04-09 156/week @ 2025-04-16 15/week @ 2025-04-23

637 downloads per month

MIT license

580KB
1.5K SLoC

Rust 1.5K SLoC // 0.0% comments Python 135 SLoC // 0.1% comments FreeMarker 114 SLoC

⏳ TimeKeeper

For coders who lose track of time (and keyboard imprints on their face)

README (Russian) | Screenshots (site) | Releases (GitHub) | Telegram

Note: the Windows build of program hasn't been signed yet and I don't think I will ever sign it. I don't have time for this now, so deal with the program signature yourself.

What is TimeKeeper?

TimeKeeper is the simplest cross-platform PC time-tracking program. It periodically reminds users to take breaks while working on their computers. It's free of unnecessary web and AI features.

Idea

Many people do not take breaks when working at a PC. As a result, the efficiency of such work decreases due to fatigue, musculoskeletal problems due to sedentary lifestyle and all kinds of eye disorders. Consequently, users need a simple program that, adjusting to their rhythm of work, could remind them of the need to take a break from work.

The program is intended for use by people who are exposed to high visual loads and/or lead sedentary lifestyles.

Star this repo if you've ever:

  • Missed lunch because of cargo build --release
  • Had wrist pain from too much coding
  • Needed a non-annoying reminder

Motivation

  1. I needed a cross-platform timekeeping program. Such a program should be simple, lightweight and quite functional.
  2. Many people forget to take breaks while working on the computer, which is detrimental to their productivity and health. Take a break - stretch, get some fresh air and continue working. This will slow down the damage to your health.
  3. I needed to practice developing desktop software in Rust. TimeKeeper is the second project, the first one was ice.

Why Rust + Iced?

  1. 0.1% CPU usage
  2. Fast and reliable software work
  3. It's fun ;)

Benefits

  1. Offline. TimeKeeper does not require a browser or Internet access to work.
  2. Cross-platform. Our program works correctly in Windows and Linux operating systems and does not depend on most external libraries like Qt and GTK (and even the god-awful Electron).
  3. Minimalistic. TimeKeeper occupies no more than 20 MB on the hard disk and is able to work even on weak PCs.
  4. Statistics. TimeKeeper is able to keep local statistics of work/rest cycles so that the user has an idea of how much they are working and how often they need to take breaks.
  5. Notifications. Regardless of the OS on which TimeKeeper is running, you will receive notifications on your desktop when your work/rest cycle starts/ends.

Differences from analogs

Feature TimeKeeper Pomodorolm Flowkeeper
Written in Rust Elm, Rust, other Python
Package size 3 MB (Windows portable) 81 MB (AppImage version) 62 MB (Windows installer)
RAM Usage, avg 8-15 MB 80 MB 97.1 MB
Localizations Yes ? ?
License MIT AGPL-3.0 GPL-3.0

Installation

Already compiled program

Go to the Releases tab and download the latest stable release for your operating system. Currently only Windows (x86_64) and Linux (glibc x86_64) are supported.

Build from source code

Dependencies:

  • Rust toolchain (can be installed with rustup);
  • Windows: MSVC;
  • Linux: binutils, gcc, Xorg/Wayland

Building in Windows:

cargo build --release
.\target\release\time_keeper

Note: if you want to build *.msi installer for Windows, you should install WiX and cargo-wix programs and execute this:

cargo wix --nocapture --output target/time_keeper.msi

The built installer will be located in the target/time_keeper.msi file.

Building in Linux:

sudo apt install build-essential -y

cargo build --release
./target/release/time_keeper

Note: if you want to build *.deb package for Debian/Ubuntu, you should install cargo-deb subcommand and execute this:

cargo deb

For install generated package run this:

sudo dpkg -i ./target/debian/time-keeper-${VERSION}_amd64.deb

Technology stack

  • OS: Windows, Linux;
  • Multilanguage: YES (English, Russian);
  • Programming lang.: Rust
  • GUI: iced
iced

License

TimeKeeper is distributed under the MIT license.

Dependencies

~41–79MB
~1.5M SLoC