Pomotimo is a simple pomodoro timer for people preferring an offline GUI alternative. It is a cross-platform desktop application built with Java 21 and JavaFX.
- Cross-Platform: Runs natively on Windows, Linux, and macOS. (JVM)
- Modern UI: Built using JavaFX 22 with modular architecture.
- Persistence: Reliable local data storage using Gson serialization.
- Zero-Dependency Run: Can be bundled into a native installer (EXE, DEB, DMG) that includes its own Java runtime.
| Component | Technology | Version | License |
|---|---|---|---|
| Language | Java | 21 | GPLv2+CE |
| GUI Framework | JavaFX | 22.0.1 | GPLv2+CE |
| Icons | Ikonli (FontAwesome) | 12.3.1 | Apache 2.0 |
| Native Access | JNA | 5.17.0 | Apache 2.0 |
| JSON/Data | Gson | 2.13.1 | Apache 2.0 |
| Logging | SLF4J + Logback | 2.0.17 | MIT / EPL |
To build this project from source, ensure you have the following installed:
- JDK 21 (Java Development Kit)
- Git
This project uses jlink and jpackage to build native installers. Depending on your OS, you must install specific tools for this task to succeed:
To build .exe installers:
- WiX Toolset (v3.14 or later): Download WiX.
- Ensure the WiX
bindirectory is added to your systemPATH.
To build .deb (Debian/Ubuntu) or .rpm (RedHat/Fedora) installers:
- Debian/Ubuntu:
sudo apt-get install fakeroot dpkg-dev - Fedora/RedHat:
sudo dnf install rpm-build
To build .dmg or .pkg installers:
- Xcode Command Line Tools: Run
xcode-select --installin your terminal. - Note: Application signing requires a valid Apple Developer ID.
git clone https://github.com/yabsp/pomotimo.git
cd pomotimoYou can launch the application directly using Gradle without installing it:
./gradlew run
gradlew.bat run
Creates a single JAR file containing all dependencies (useful for quick sharing with other Java users).
./gradlew shadowJar
Output location: build/libs/pomotimo-1.1.jar
Creates a minimized folder containing the app and only the specific Java modules required to run it. This does not require Java to be installed on the target machine.
./gradlew jlink
Output location: build/image/
Generates an installer file specific to the OS you are building on. This can be run standalone and all needed tasks will be executed.
./gradlew jpackage
Output location: build/jpackage/
This project is licensed under the Apache License 2.0. See the LICENSE file for the full text.
This software includes third-party open-source components. See the NOTICE file.
- JavaFX
- Copyright (c) Oracle and/or its affiliates.
- Licensed under GPL v2 with Classpath Exception.
- Gson
- Copyright (c) Google Inc.
- Licensed under Apache 2.0.
- Ikonli
- Copyright (c) Kordamp.
- Licensed under Apache 2.0.
- JNA
- Copyright (c)
- Licensed under Apache 2.0 / LGPL 2.1.



