Select text in any app, tap Shift twice, and it lands in a pad that stays out of your way. Tick a few later, copy them as a numbered list, paste the lot into a prompt.
jogpad.fishball.app has the download, the shortcuts, the install steps, and the pad itself running in the page so you can try the gesture before installing anything. Everything below is for people who want to build it.
macOS only. Free, MIT, no account, no sync, no telemetry. Your notes are one
markdown file under ~/Library/Application Support/com.ycmjason.jogpad/.
Needs Node 26 or later, pnpm, and a Rust toolchain new enough for Tauri 2 (1.85+).
pnpm install
pnpm -F @jogpad/desktop devmacOS asks for Accessibility access the first time you double-tap Shift. Without it the app still works as a scratchpad, it just cannot read other apps' selections.
pnpm -F @jogpad/desktop web runs the same UI in a browser tab on an
in-memory host, for front-end work that does not need a Rust build.
packages/ui the pad: React UI, the notes model, and the gesture rule
apps/desktop/src desktop host: Tauri bindings for files, window, permissions, updates
apps/desktop/src-tauri Rust: file writes, event tap, selection reader, NSPanel, updater
apps/site the Astro site, which runs the same pad in the browser
All notes logic lives once, in packages/ui. A host only implements side
effects (packages/ui/src/host.ts); the desktop and the site each provide one.
pnpm test # the markdown round trip and every mutation
pnpm -F @jogpad/desktop rust:test # the double-tap detector and the file paths (Rust)A release is built by the workflow, run by a version
tag (v<version>) on a commit of main. It refuses a tag with no ## <version>
section in CHANGELOG.md or one that differs from apps/desktop/package.json,
builds a signed and notarised universal DMG on a macOS runner, and attaches it
to a draft release. Nothing goes public until the draft is published.
Every push to main also publishes a dev build on its own, served to the Dev
update channel in Settings. Stable, Beta and Dev are a toggle there, not
separate installs.
This repository is an exported copy of a private monorepo, so a pull request merged here would be lost on the next export. Open an issue and describe the change, with a diff if you have one; it will be applied at the source and credited.
MIT. See LICENSE.
JogPad started as a clone of Copper by shadcn, built from its public description. No code from Copper was used, and it is not affiliated with or endorsed by shadcn.