Skip to content
back to selected work

Spool Clipboard

TypeScriptElectronReactC++ / N-APISQLCipherVitestfast-checkMSIX

Local-only clipboard manager · Electron, native Win32 addon, no network code

ON THE MICROSOFT STORE

My first app published on the Microsoft Store. The idea came from QA: a tester copies many small things from many places — reproduction steps from a ticket, values from a wiki, a key from a vault — and pastes them somewhere else in a set order, one at a time, because the system clipboard holds one item. Spool holds the items in order and gives them back in that order. You wind clips on by copying; you play them off one at a time or all at once, arranged how you want them.

The privacy claim is a test, not a promise. The app has no network code, and that is checked on every build: a gate fails on any networking API in src/ or native/, on any of seven banned packages, and on any change to the dependency tree that is not in a committed snapshot. At startup the main process replaces fetch, http, https, net and dgram with functions that throw, and a test asserts each one does. There is no auto-updater, because an updater is network code.

Electron, React and TypeScript over a native C++ addon for the clipboard listener, with an encrypted SQLCipher store whose key is sealed to the machine. Fourteen milestones in sixteen days, then eight days of packaging and Store work: 25 days in the evenings, 27 pull requests, two production dependencies, 371 tests. Two features — starred spools and secret detection — were built, tested, shipped and then removed, each with a commit that says why.

The Spool tile: a stylised spool of thread on a dark square, as it appears in the Microsoft Store and the Start menu.
The Store tile. "Spool" was taken as a Store name, so the listing says Spool Clipboard; everything inside the app says Spool.
~/screens · the compact window, arrange, and a paste landing
Spool screenshot: The compact window. Eight clips on the default spool, the first marked NEXT, two rows in play. The three hotkeys are always in view.
Spool The compact window. Eight clips on the default spool, the first marked NEXT, two rows in play. The three hotkeys are always in view.
Spool screenshot: The Arrange view. Rows are dragged into the order they should come back in; the sidebar says how many are on the clipboard.
Spool The Arrange view. Rows are dragged into the order they should come back in; the sidebar says how many are on the clipboard.
Spool screenshot: Win+Alt+V beside Notepad: all eight clips pasted as eight lines, in the order they were arranged.
Spool Win+Alt+V beside Notepad: all eight clips pasted as eight lines, in the order they were arranged.

The clips in every shot are seeded examples, not captures. Playwright cannot press a global hotkey or show a paste landing in another window, so these were taken by a script driving the packaged app; the other projects' walkthrough recordings do not fit here for the same reason.