WorkBalance is a desktop Pomodoro timer application designed to help you stay productive and focused. Inspired by the web-based Pomofocus.io, it brings the simplicity and elegance of the Pomodoro Technique to a native desktop experience.
- 🍅 Pomodoro Timer - Classic 25/5/15 minute work/break intervals
- 📝 Task Management - Track tasks and completed pomodoros
- 🎨 Modern UI - Clean, distraction-free interface with Formula1 fonts
- 🔊 Audio Alerts - Embedded sound notifications for timer events
- 🪟 Overlay Mode - Compact, always-on-top timer view
- 🌐 Cross-Platform - Runs on Windows, Linux, and macOS
- 📦 Self-Contained - All assets embedded in the executable
A compact, transparent timer that stays on top of other windows for distraction-free focus.
WorkBalance is built with modern C++20 and the following cross-platform libraries:
| Library | Purpose | License |
|---|---|---|
| Dear ImGui | Immediate mode GUI framework | MIT |
| GLFW | Cross-platform windowing and input | Zlib |
| miniaudio | Lightweight audio playback | MIT-0 |
| stb_image | Image loading | MIT/Public Domain |
| OpenGL | Graphics rendering | - |
All dependencies are managed via vcpkg for seamless cross-platform builds.
WorkBalance uses CMake for a modern, cross-platform build experience. The build system automatically handles all dependencies and asset embedding.
- C++20 compatible compiler
- Windows: Visual Studio 2019+ / MSVC 19.25+
- Linux: GCC 9+ or Clang 10+
- macOS: Xcode 12+ / Apple Clang 12+
- CMake 3.15 or higher
- vcpkg (for dependency management)
- Git
git clone https://github.com/yourusername/WorkBalance.git
cd WorkBalanceWindows (PowerShell):
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
.\bootstrap-vcpkg.batLinux/macOS:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.shWindows:
# Configure
cmake --preset x64-release
# Build
cmake --build --preset x64-release
# Run
.\out\build\x64-release\Release\WorkBalance.exeLinux/macOS:
# Configure
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_TOOLCHAIN_FILE=~/vcpkg/scripts/buildsystems/vcpkg.cmake
# Build
cmake --build . --config Release
# Run
./WorkBalanceThe project includes CMake presets for common configurations:
x64-debug- Debug build with symbolsx64-release- Optimized release build
cmake --preset x64-release
cmake --build --preset x64-releaseWorkBalance is designed to work seamlessly across all major desktop platforms:
| Platform | Status | Notes |
|---|---|---|
| Windows 10/11 | ✅ Fully Supported | Includes rounded window corners on Windows 11 |
| Linux | ✅ Fully Supported | Tested on Ubuntu, Fedora, Arch |
| macOS | ✅ Fully Supported | macOS 10.15+ recommended |
All core features work identically on every platform. For detailed platform-specific build instructions, see BUILD.md.
| Key | Action |
|---|---|
Space |
Start/Pause timer |
Up Arrow |
Skip to next timer |
Escape |
Close help dialog |
WorkBalance includes three timer modes:
- Pomodoro - 25 minutes of focused work
- Short Break - 5 minute break
- Long Break - 15 minute break
You can customize timer durations and switch between modes using the header buttons.
The project is designed with a modular architecture for easy maintenance and extension. Core functionality is currently consolidated for simplicity, with plans for a more structured codebase in future releases.
Key components:
- CMake build system - Modern, cross-platform build configuration
- Embedded resources - All fonts, sounds, and icons compiled into the executable
- Cross-platform code - Platform-specific features gracefully degrade
Contributions are welcome! Whether it's:
- 🐛 Bug reports
- 💡 Feature requests
- 📖 Documentation improvements
- 🔧 Code contributions
Please feel free to open an issue or submit a pull request.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Dear ImGui - MIT License
- GLFW - Zlib License
- miniaudio - MIT-0 License (Public Domain)
- stb_image - MIT License / Public Domain
- Font Awesome 5 Pro - Commercial License (icons only)
- Formula1 Fonts - Used under license
- Pomofocus.io - Inspiration for this desktop implementation
- Omar Cornut - Creator of Dear ImGui
- GLFW Contributors - Cross-platform windowing made easy
- David Reid - miniaudio library
- Sean Barrett - stb single-file libraries
Tolga Yilmaz
- Settings persistence
- Statistics and analytics
- System tray integration
- Multiple themes
- Custom sound alerts
- Task categories and tags
- Export/import task history
Built with ❤️ using C++20 and CMake
