Stickee: sticky notes that go full screen on every monitor

A native macOS sticky note in my NicAI design. 1 to-do list on the screen, fed from my iPhone through iCloud Drive, full screen on all 4 monitors with 1 click.

The Stickee app icon: a white square with a red bar on the left, the black hexagon edelweiss logo and the name Stickee under it

28 Sep 2026 Stickee is my sticky note app for macOS. I write a line or a short list, it sticks to the screen, and 1 click shows it full screen on every monitor I have. The small note keeps a reminder in view. The full-screen version makes sure I can't miss it.

02 Nov 2026 Stickee is now 1 sticky, fed from my iPhone. After a few days of use I chose 1 to-do list over many notes. The text lives in a plain file in iCloud Drive, so an iPhone Shortcut can add a line from Siri, Back Tap or the share sheet, and the Mac puts it on top. I edit the list in place, line by line. Every version goes into a history, so nothing gets lost. The first version had several notes and a separate editor window. The screenshot of 2 notes is from that version.

The name fits the -ee family of my other tools, next to Dictee: my own local dictation app and Portee: one page for all my local apps.

Two Stickee notes side by side from the first version: a list of 3 tasks with red square bullets, and a plain text note, each showing its creation time and how many minutes ago it was written

Why I built it

Apple's Stickies app still looks like 2005, and it has no way to make a note impossible to ignore. I work on 4 displays. A small yellow square on 1 of them is easy to lose.

I wanted 3 things:

  • Fast capture. 1 shortcut, type, done.
  • Loud when it matters. A note that can take over every screen until I dismiss it.
  • My own look. Black, white and red, my fonts and my edelweiss logo, like everything else I build.

What it does

02 Nov 2026 The table shows Stickee as it is today.

Feature How it works
1 sticky 1 to-do list, always on top, on every Space. Each line gets a red square
Quick add ⌃⌥⌘N from any app opens the sticky on a new empty line at the top
From the iPhone A Shortcut appends a line to a file in iCloud Drive. The Mac puts it on top within 2 s
Edit in place Double-click the text. Each line becomes a row with a drag handle and a delete button
Red lines A line that starts with ! shows in red. ⌘R toggles it while I edit
Full screen, all The button covers every display with the list in large bold type
Full screen, 1 screen ⌘↩ on the sticky: full screen only on the display where it sits
Prompter toggle ⌥⌘S from any app moves the list between my desk prompter and a side display
History Every change saves the text it replaces. The menu lists the 20 latest versions
Clear and undo Clear needs no confirmation: Undo on the bar, or ⇧⌘T later

28 Sep 2026 The first version had a separate composer window. It's gone: I edit on the sticky itself now. This is how the composer looked, in dark mode:

The retired Stickee composer in dark mode: edelweiss logo, red double chevron and the title Edit sticky, a Text and List switch set to List, 3 tasks in the editor, a shortcut hint row, a red 3 items counter and a red Save button

And this is the full-screen view on my 4 displays at once, including the one in portrait:

The same 3-task list shown full screen on 4 displays side by side, in large black bold text with red square bullets and a red bar on the left edge of each screen

All features

The sticky

  • 1 sticky. 1 floating to-do list, always on top and on every Space, in bold Montserrat with red squares.
  • List or text. List mode by default. ⌘L while I edit switches to plain, centred text.
  • Red lines. A line that starts with ! shows in red, without the !. ⌘R or right-click adds or removes it.
  • Quiet chrome. Full screen, edit and clear buttons appear only when the pointer is on the sticky.
  • Last change. The time on the sticky is the last change, from the Mac or the iPhone.
  • Hide and show. ⇧⌘H or the menu bar menu hides the sticky and brings it back.
  • Displays come and go. When a display goes away, the sticky moves to one I can see, and goes back when the display returns.
  • Square corners. The sticky and its windows draw no corner radius.

Editing

  • Quick add. ⌃⌥⌘N from any app, or ⌘N in Stickee, opens a new empty line at the top. When I finish, the keyboard goes back to the app I was in.
  • Edit in place. Double-click or the pencil turns each line into a row. ⌘↩ or a click elsewhere saves, Esc cancels.
  • Move and delete lines. Drag handles, ⌥↑ and ⌥↓, and a × button on every line.
  • Line keys. Return splits a line, Backspace joins it to the one above, the arrow keys step between lines, ⌘Z undoes in order.
  • Nothing lost on Esc. A discarded edit goes into the history. Quit or logout during an edit saves it.

Full screen and the prompter

  • Full screen on every display. Large bold type, sized to fill each screen, portrait displays included.
  • Full screen on 1 display. ⌘↩ on the sticky.
  • Prompter toggle. ⌥⌘S from any app shrinks the list onto a side display, or shows it full screen on the prompter only, without taking the keyboard.
  • Edit on the full screen. Double-click or the pencil opens the line editor at full-screen size.
  • Long lists. A list too long for the screen shows the lines that fit, then "+N more".

Sync and safety

  • iPhone input. An iPhone Shortcut appends a line to iCloud Drive/Stickee/sticky.txt. Siri, Back Tap, a home-screen icon or the share sheet run it.
  • 3-way merge. New lines go on top. An empty, cut-off or stale file never deletes lines. A line I deleted on the Mac in the last 24 hours doesn't come back from an old iPhone copy.
  • History. The last 1,000 versions on disk, the 20 latest in the menu. Click one to put it back.
  • Clear and undo. An Undo bar after a clear, and ⇧⌘T to restore later, even after a relaunch.
  • Keyboard shortcuts panel. Help > Keyboard Shortcuts lists every key.
  • Agent interface. A stickee command line with JSON output: status, lines, add a line (optionally red), show, hide.

For business people

A sticky note is the cheapest reminder there is, and the easiest to ignore. Stickee keeps the cheap part and fixes the ignore part. Before a call I put the 3 points I must not forget on a note. When the moment comes, 1 click puts them on every screen in front of me, in type I can read from across the room.

It costs nothing to run: no account, no server, no subscription. The list is 1 text file in my own iCloud Drive.

02 Nov 2026 The phone side is the cheapest possible: an Apple Shortcut that appends a line to that file. I compared 6 options, including a native iPhone app and a small web page. The Shortcut won because it's free, works offline and needs no code on the phone.

The limit: it's a personal tool. 1 list, no sharing with anyone else.

For technical people

Stack

Native Swift, AppKit for the windows and SwiftUI for the composer. No Xcode project and no Swift package: build.sh compiles the sources with swiftc, assembles the .app bundle, signs it ad hoc and copies it to /Applications.

./build.sh --install   # compile, bundle, sign, install
./build.sh --run       # build and open from build/

How it's built

File Role
main.swift App delegate, menus, menu bar item, Carbon global hotkey
StickyNoteController.swift The borderless floating NSPanel
LineEditorView.swift The line editor: drag handles, delete buttons
FullscreenPresenter.swift 1 borderless window per NSScreen, auto-fitted type
NoteStore.swift Note model, iCloud Drive file sync, history
NoteMerge.swift The merge rule between the Mac and the file, no file access
RedLine.swift The ! mark of a red line
AppState.swift The state file the agent command line reads
Theme.swift NicAI design tokens: colours, Montserrat, Lato, logo

02 Nov 2026 The SwiftUI composer of the first version is retired. Editing happens on the sticky.

A few details worth knowing:

  • Non-activating panels. The stickies are NSPanel windows with .nonactivatingPanel. Clicking one doesn't pull Stickee to the front, so the app I'm working in keeps focus.
  • Full screen is not macOS full screen. It's a borderless window per display at screen-saver level, sized to screen.frame. That covers the menu bar and the Dock, and it works on every monitor at once.
  • Type that fits the screen. The font size shrinks from large until the text fills about 80% of each display. A 4K screen and a small portrait one each get their own size.
  • Cursors set by hand. macOS applies cursor areas reliably only in the active window. The sticky tracks the pointer itself: arrow on the buttons, open hand on the body, closed hand while dragging.
  • Fonts in the bundle. Montserrat and Lato ship inside the app and load through ATSApplicationFontsPath. The Montserrat variable font resolved to "Thin" in Core Text, so the build uses static weights instead.
  • 02 Nov 2026 A merge that can't lose iPhone lines. The Shortcut can only append, and iCloud sometimes delivers an old copy of the file. Stickee polls the file every 2 seconds and merges it against the last text it synced. The merge rule has no file access, so 42 headless tests cover it. Old iCloud conflict versions go into the history only: once, they brought back 6 lines I had deleted.

Agent interface

02 Nov 2026 Claude Code and my other agents use a stickee command line. Every command prints 1 JSON document.

Command What it does
stickee status --json Running, line count, editing, hidden, on the prompter
stickee lines -n 10 --json The top 10 lines of the sticky
stickee add "<text>" --json Puts a line on top, as the iPhone does. --red makes it red
stickee show / hide Shows or hides the sticky, without taking the focus

Writes go to the running app as stickee:// URLs, and the command line confirms each one through a small state file. An agent can't add a line while I'm editing: the command is refused, so it never fights with my typing.

How I built it

Claude Code built it in 1 morning, with several agents working in parallel. I wrote the shared pieces first (the note model and the design tokens), then 3 agents built the sticky and full-screen windows, the app shell and composer, and the packaging (build script, icon, fonts) at the same time. A 4th agent, briefed as a designer, reviewed the UI from screenshots and reworked it within my design rules.

The first version was about 2,000 lines of Swift in 7 files. 02 Nov 2026 After 3 weeks of changes from daily use, it's about 4,100 lines in 13 files.

Further reading

NicAI
Written by NicAI, Nic's AI assistant, for his personal knowledge base. Researched and drafted by the model, not hand-written by Nic. Verify anything you plan to act on.