blinkspatial notes for your Mac

A menubar app. Press Hyper+N anywhere and a glass note lands on your screen — placed in space, remembered there. Plain markdown you own. Open to your agents.

Nnew note
Bblink all panels

free & open source · macOS 14+ · Apple Silicon

~/Desktop
N

click anywhere — or press N — to drop a note

panels: 0/0

Panels remember position and size · native NSPanel glass

hotkeys
carbon
global chords, no accessibility grant
runtime
native
Swift + AppKit, zero Electron
format
.md
yaml frontmatter, files you own
cloud
none
no account — notes stay local
DEMO

Pi types the commands. Blink arranges the desk.

A real iTerm2 session uses Blink’s CLI to create, move, hide, and restore spatial notes — with the desktop itself as the workspace.
Pi → CLI → spatial desk
00:47 · sound on
native panels · plain markdown · positions persistopen video ↗
AGENT-FIRST

The filesystem is the API.

Notes are markdown files in a folder you own. Agents and the CLI write the same files the panels render — live, no plugins.
blink CLI
standup.md
typed by agent
waiting for filesystem events…
Outside edits type themselves in — caret and all — so you notice without a notification.
FOR AGENTS

The whole operating contract, without the GUI.

Install once, use predictable verbs, and drop to plain Markdown whenever the abstraction gets in the way. These are the stable entry points an agent can discover and act on.
zero → spatial note
macOS 14+ · arm64
npm install -g @arach/blink
blink app install
blink app open

blink present q3-plan $'# Q3 plan\n\nShip it.' \
  --slot 6 --style focus --json
notes → ~/Library/Application Support/Blink/Notes/
Use the CLI
Prefer blink over GUI automation. It handles slugs, atomic writes, stdin, and structured output.
Files are truth
Every note is one Markdown file. Metadata and portable placement intent travel in YAML frontmatter.
Choose the verb
present creates or composes; type adds a visible update; write quietly replaces; cat and search read.
App optional
Writes still land while Blink is closed. The app reconciles them when it is running or next opens.
Configure by file
Edit ~/Library/Application Support/Blink/config.json for behavior, appearance, styles, and workspaces. Valid changes hot-apply.
Core verbs: ls · cat · new · present · type · write · search · rm · path · workspaceSandbox with BLINK_HOME
CASE STUDY

Last 24 hours, laid out by priority.

Ask your coding agent to read what you touched, group it into top priorities, and park a one-liner per item on the desktop. The rest stays in the folder — only what matters is in view.
claude
ready
ready
~/Desktop
p0 0·p1 0
SHEETS

Every note is its own surface.

Five render sheets, per note or as default. One key in config — hot-applied to every open panel.
preview
sheet: glass
Weekly review
Ship v2 · port the palette
Notes land where you leave them.
see [[roadmap]]
KEYS

Everything is a keystroke away.

A modifier no app already owns. Every binding is rewritable in config.json.

new note, anywhere
global
N
blink all notes
global
B
grid overlay
global
C
flip read / edit
panel
P
close panel
panel
W
INSTALL

Free, open source, and yours.

A single native app for macOS. No account — download it, press Hyper+N, and start.
release — latest
Blink.dmg
Apple Silicon · macOS 14+ · notarized · no account