Chrome extension · Manifest V3

A timer you pull out of the edge of any page.

A rope, knotted at every preset and beaded for cycles. You count knots, not pixels.

16.3 KB gzipped · no account
Drag the dashed lip downward →
5 min
10 min
15 min
25 min
50 min
90 min
Pull
to the first knot
⇧ 1-min precision⌥ hours⌘ snap to a preset
The gesture

Four states. Nothing in between.

A 44×6px tab sits on one viewport edge. That's the whole resting footprint.

01 · at rest

44×6px, in the page's own contrast. No line across the page, no chrome.

TimerPomodoro
02 · hover

A grip, a Timer / Pomodoro toggle, a dashed lip, an expand button. Four affordances and nothing else.

15 min · 3:42 PM
25 min
ends 3:52 PM
03 · pull

Knots at 5 / 10 / 15 / 25 / 50 / 90, each labelled with the clock time it lands on. Passed knots swell and fill.

Deep work
enter to start · esc to cancel
04 · name it

Blank names it after its own duration. 25 min beats Timer 3.

19.2px per minute to 25 min then 5-minute steps per 16px, out to 4 hours past the end it stretches at 34% keep going for a stopwatch
Pomodoro

The rope beads.

One cycle is 118px of rope: a long green bead of work, a short amber bead of rest. Up to six. On release it snaps to a whole number of beads — there is no three-and-a-half Pomodoro.

Pomodoro is not a mode bolted onto a duration picker. It is the same object measured in a different unit.

work 25 rest 5
3 × 25 / 5
1 hr 30 · ends 9:44 AM
While it runs
A segmented hem, not a bar.

One segment per bead, so you can see which bead you're in and how many are left. A continuous bar could not tell you that.

18:42 work 2/4
work bead done
Deep work
Break 5 min starts now
Tuckit TimersSettings esc
Deep workwork 2/4
18:42
ends 9:44 AM
25m work
5m
25m work
5m
25m work
5m
25m work
5m
+5 minSkip this beadStop
Timer
5 min10 min15 min25 min50 min1 hr 30
Pomodoro 25 work · 5 rest
1 cycle30 min
2 cycles1 hr
3 cycles1 hr 30
4 cycles2 hr
alt+shift+t · command bar drag the grip to move the edge pull past the last knot for a stopwatch
Settings

Seven palettes. Pick one — the page follows.

The first two swatches are work and rest. Every palette keeps them distinct, because that is how you tell which half of a Pomodoro you're in at a glance.

Appearance
AutoLightDark

Following this page — currently light. The puck reads the background behind it, so it stays legible on a white page and a black one alike.

The resting tab
SubtleClearAccent
easy to find
Sound
A chime when a bead ends
Pomodoro
Work25min+
Rest5min+
Cycles4+
2 hr

What pom starts with no number, and what the rope's beads are worth when you pull them.

Docking

The edges never constrain the drag.

They are only where it comes to rest. Drag the puck anywhere on the page; the nearest edge lights with a bloom and a landing preview, and it docks where you let go.

stored as { edge, offset } with offset as a fraction — it survives a resize, a zoom, or a move to another monitor

Try it →
docks here
18:42
Findable

It contrasts with the page, not with your OS.

One hit test finds the first opaque background under the puck, and its luminance decides which way to contrast. The threshold is 0.2 — the point where a dark and a light tab contrast equally, not the intuitive 0.5.

A 1px halo in the page's own tone covers backgrounds that can't be sampled, like photographs. It re-samples on scroll, on resize, and when the site flips its own theme.

(L + 0.05) / (L_ink + 0.05) = (L_paper + 0.05) / (L + 0.05) → L ≈ 0.19
Four surfaces

A page isn't always in front of you.

So Tuckit is four surfaces, not one. Each covers the others' blind spots.

01 · the puck
Any normal web page

Full fidelity: the pull gesture, every timer, names and colours.

02 · toolbar badge
Even on chrome:// pages

One number, one colour — and it changes colour on the break, so the toolbar tells you which half you're in.

03 · the float
Over every app

A Document Picture-in-Picture window, OS-level always-on-top. Visible while you're in Figma.

04 · notifications
System-wide

Terminal events only, with +5 / +10 / Done on the notification itself.

Coming from a menu-bar timer

We live inside the browser, where the work and the distraction both happen.

Menu-bar timer
Tuckit
Pull-to-set duration
Yes
Knotted and beaded
Automated Pomodoro
Yes
Yes
History and analytics
Logged per bead, from v0
Blocks your distraction list
Categorically can't
While the timer runs
Platform
macOS 26+
Anywhere Chrome runs
Price
Free
Free, no account

Comparison against published feature lists, August 2026.

Privacy

Local-first, always.

Sessions are logged to IndexedDB and never leave the machine unless you turn on sync. Domain capture is off by default and asks in plain language.

There is a real local-only mode that disables the account layer entirely and says so, plus an always-accessible panel showing exactly what is stored and what has left the device.

No ads, no telemetry, no data sale, ever.
Roadmap

Shipped, and what's next.

v0
shipped
Puck on all pages · drag-anywhere docking · rope pull with knots · Pomodoro beads and sequences · bead handover · full screen · command bar and hotkeys · MV3 timer spine.
v1
next
Seven themes wired to settings · sounds picker · custom cycle lengths · full accessibility pass · the Float · per-site disable · onboarding.
v2
Dashboard · streaks · planned-versus-actual drift · auto-tagging · export · weekly review.
v3
Focus blocking · block page · tab discipline · templates · recurring and scheduled · webhooks · calendar · Slack status.
v4
Accounts · cross-device sync · rooms · presence · web viewer.

You count knots, not pixels.

Free, no account, no telemetry. Loads on every page at 16.3 KB and stays out of the way until you reach for it.

alt+shift+t · command bar alt+shift+f · full screen alt+shift+h · hide