GitHub - overflowy/goldfish: A dead-simple Pomodoro timer that floats over everything else · GitHub
/" data-turbo-transient="true" />
Skip to content
Search or jump to...
Search code, repositories, users, issues, pull requests...
-->
Search
Clear
Search syntax tips
Provide feedback
--><br>We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
-->
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
overflowy
goldfish
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>9 Commits<br>9 Commits
assets
assets
internal
internal
scripts
scripts
.gitignore
.gitignore
Info.plist
Info.plist
LICENSE
LICENSE
README.md
README.md
Taskfile.yml
Taskfile.yml
go.mod
go.mod
go.sum
go.sum
main.go
main.go
View all files
Repository files navigation
Goldfish
A dead-simple Pomodoro timer that floats over everything else.
Why "Goldfish"?
Because of my goldfish-brained ADHD. The whole point of this app is that the timer is<br>always on top of every other app - out of sight is out of mind, so it stays<br>in your face no matter what you're doing. A timer you have to go looking for is a<br>timer you forget about ten seconds after starting it.
Principles
Stay on top. The overlay floats above other (windowed) apps and doesn't<br>disappear when you switch away. It dims to the background when you're not<br>interacting with it, and goes solid when you click it.
Stay simple. No accounts, no stats, no streaks, no shame ledger. It is<br>present-tense by design - it only knows now. There's nothing to configure<br>before you can start; just click "Start focus".
What it does
A classic Pomodoro cycle, shown as a phase label, four progress dots, and a<br>monospace countdown:
Four focus blocks, each followed by a short break , with a longer break<br>after the fourth - then it repeats.
The card and the menu-bar dot are colour-coded by phase: tomato for focus,<br>green/teal for breaks, amber when idle.
At 0:00 it chimes and advances on its own. You can switch either hand-off to<br>a manual "wait for me" with Auto-start breaks / Auto-start focus .
It runs as a menu-bar agent (no Dock icon). All control lives in the menu -<br>click the menu-bar dot, or right-click the overlay itself:
Action
Start focus / Take a break<br>move through the cycle
Pause / Resume<br>freeze the clock
Abandon<br>drop the current focus block (doesn't count)
Reset<br>end the whole cycle
Auto-start breaks / focus<br>toggle the automatic hand-offs
Drag the overlay anywhere; it remembers where you put it.
Configuration
Durations, window position, and the auto-start toggles are saved to a small,<br>hand-editable TOML file at $XDG_CONFIG_HOME/goldfish/config.toml (falling back<br>to ~/.config/goldfish/ or ~/.goldfish/):
focus_minutes = 25<br>break_minutes = 5<br>long_break_minutes = 15<br>auto_start_breaks = true<br>auto_start_focus = true
Building
macOS only. Needs Go, Qt 6<br>(brew install qt), and Task.
task build # build the binary into dist/<br>./dist/goldfish # run it
task build:app # package a self-contained dist/Goldfish.app bundle<br>task fix # go fix + vet + gofmt
Built with Go and miqt (Qt 6 bindings).
Installing
Goldfish is not notarized by Apple, so macOS Gatekeeper will block<br>it the first time - "Goldfish is damaged and can't be opened" or "can't be<br>opened because it is from an unidentified developer". This is expected for a<br>self-built app.
Move Goldfish.app where you want it (e.g. /Applications) and clear the<br>quarantine flag once:
xattr -dr com.apple.quarantine /Applications/Goldfish.app
Then open it normally. (You only need to do this once per build/download - a<br>locally built bundle that you never download won't be quarantined at all.)
License
MIT
About
A dead-simple Pomodoro timer that floats over everything else
Topics
go
macos
qt
timer
pomodoro
focus
floating-window
adhd
Resources
Readme
License
MIT license
Uh oh!
There was an error while loading. Please reload this page.
Activity
Stars
stars
Watchers
watching
Forks
forks
Report repository
Releases
v1.0.0
Latest
Jun 23, 2026
Packages
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Contributors
overflowy
Languages
Go<br>89.4%
Shell<br>10.6%
You can’t perform that action at...