doit is a CLI tool to visualize your time and boost your focus. Set a duration or deadline, and see your progress in real time. Use this tool to maximize your concentration and motivation!
$ doit -s "2025-08-12 08:00:00" -d 9h -t "Just Do It!"
Just Do It!
08:00 β 17:00 | 92% | 8h 14m / 9h
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
46 m remaining
- β±οΈ Time-based progress bar with real-time updates (60-second intervals)
- π― Flexible time formats (
2h,2025-08-10 09:00:00, etc.) - π¨ Smart dynamic formatting - automatically adjusts time display based on duration
- π Real-time updates with optimized 60-second refresh
- π Custom title support for motivational progress sessions
- π Multiple styles (default, hourglass, retro, synthwave, dotgrid)
- π₯οΈ Cross-platform (Linux/macOS/Windows)
- β‘ Colored output with intelligent time calculations
doit automatically chooses the best time format based on your session duration:
- β€24 hours:
14:00 β 16:00 - β€7 days:
08-16 09:00 β 08-19 09:00 - >7 days:
2025-08-01 β 2025-12-31
Progress and remaining time are also smartly formatted:
- β€24 hours:
2h 30m - β€7 days:
2d 5h - >7 days:
45d
# Add the tap
brew tap matsuokashuhei/doit
# Install doit
brew install doitgit clone https://github.com/matsuokashuhei/doit.git
cd doit
cargo build --release
sudo cp target/release/doit /usr/local/bin/Download the latest release from GitHub Releases
# Basic usage with duration
doit --duration "3h"
# Set custom start and end times
doit --start "2025-08-10 09:00:00" --end "2025-08-10 17:00:00"
# Add a custom title to your progress session
doit --start "2025-08-10 09:00:00" --duration "8h" --title "Deep Work Session"
# Use retro style for military-style motivation
doit --start "2025-08-10 09:00:00" --duration "8h" --title "JUST DO IT!" --style retro
# Use synthwave style for synthwave-style aesthetic
doit --start "2025-08-10 09:00:00" --duration "8h" --title "CYBER FOCUS" --style synthwave
# Use hourglass style for a visual sand timer effect
doit --start "2025-08-10 09:00:00" --duration "8h" --title "Time is Flowing" --style hourglass
# Use dotgrid style for a dot-matrix long-range countdown
doit --start "2026-01-01" --end "2026-12-31" --title "Year Focus" --style dotgrid
# Short form options
doit -s "2025-08-10 09:00:00" -d "8h" -t "My Task"--start/-sStart time (optional, default: current time)--end/-eEnd time (mutually exclusive with --duration)--duration/-dDuration (e.g.25m,2h) (mutually exclusive with --end)--title/-ttitle message for motivation--style/-SDisplay style [default|hourglass|retro|synthwave|dotgrid]
Just Do It!
08:00 β 17:00 | 92% | 8h 14m / 9h
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
46 m remaining
08:00 β 17:00 | 92% | 8h 14m / 9h
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
46 m remaining
[JUST DO IT!] FOCUS SESSION INITIATED
============================================================
[START] 2025-08-16 08:00:00
[END] 2025-08-16 17:00:00
[ELAPSED] 92% | 8h 14m
[REMAINING] 46 m
[PROGRESS]
[ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ]
============================================================
STATUS: > ALMOST THERE, SOLDIER! HOLD YOUR POSITION.
============================================================
(Q) QUIT | (CTRL+C) ABORT
β JUST DO IT β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 2025-01-01 00:00 ββββββββββββββββββββββββββββββββββββββ 2025-12-31 23:59 β
β 62% | 227d elapsed | 137d remaining β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β‘ KEEP THE ENERGY FLOWING β‘
Time is Flowing
14:30 β 16:30 | 25%
βββββββββββ
βββββββββββ
βββββββββββ
βββββββββββ
βββββββββββ
βββββββββββ
βββββββββββ
βββββββββββ
βββββββ
βββ
βββββββ
βββββββββββ
βββββββββββ
βββββββββββ
βββββββββββ
βββββββββββ
βββββββββββ
βββββββββββ
βββββββββββ
βββββββββββ
elapsed: 30m | remaining: 1h 30m
β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’
β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’
β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’
β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’ β’
Year Focus 348d left
doit smartly formats time displays based on session length:
$ doit -s "14:00:00" -d "2h" -t "Focus Session"
Focus Session
14:00 β 16:00 | 25% | 30m / 2h
ββββββββββββββββββββββββββββββββββββββββββββββββββββββ
1h 30m remaining$ doit -s "2025-08-16 09:00:00" -d "3d" -t "Sprint Week"
Sprint Week
8/16 09:00 β 8/19 09:00 | 33% | 1d 2h / 3d
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
1d 22h remaining$ doit -s "2025-08-01 00:00:00" -e "2025-12-31 23:59:59" -t "Annual Goal"
Annual Goal
2025-08-01 00:00 β 2025-12-31 23:59 | 12% | 15d / 152d
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
137d remainingcargo test
cargo clippy
cargo fmt
cargo build --releaseMIT
Maximize your focus and motivation with this tool!
