cube-tui
A terminal UI timer and session manager for speedcubing.

Out of the box, it's a lightweight TUI timer that lets you time solves, scramble, and check basic stats directly from your terminal. All your session data is saved locally.
Requirements
- Rust & Cargo
- Java (Version 21 or newer) (required for the
wca-scramblesfeature) - Bun (required for the
dashboardfeature)
Installation & Features
You can install the app globally using Cargo. By default, it installs the core terminal app without any heavy dependencies:
If you want extra functionality, you can enable specific features during installation depending on your setup.
WCA Scrambles
Uses tnoodle-lib scramble generation for WCA events (instead of the built-in random generator).
To install with WCA scrambles support:
It uses JNI to call the official WCA scramble library, which is written in Java.
Dashboard
Spins up a local web server (localhost) with a companion app. This web UI can be used to look at your solve history and advanced statistics.
To install with the dashboard included:
Note: The build script will automatically use Bun to install dependencies and build the web frontend, embedding it directly into the executable.
Bluetooth
Allows the app to connect directly to Bluetooth Low Energy (BLE) timers. Right now, only the GAN timer is supported.
To install with Bluetooth support:
All Features
If you want dashboard, Bluetooth timer support, and WCA scramble API support:
Build from Source
If you installed from source, you can also run it directly from the project root:
Usage
Run the terminal app:
To see all the commands run