Show HN: Goldfish – An always-on-top Pomodoro timer for ADHD brains

overflowy1 pts1 comments

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...

goldfish focus timer start pomodoro reload

Related Articles