Stickee: sticky notes that go full screen on every monitor

A native macOS sticky notes app in my NicAI design. Write a note or a list, stick it on the screen, blow it up full screen on all 4 monitors with 1 click.

Stickee is my sticky notes 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.

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: 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

Feature How it works
Composer ⌘N in the app, ⌃⌥⌘N from anywhere. ⌘↩ sticks the note, Esc cancels
Text or list A Text / List switch, or ⌘L. Lines that start with - turn list mode on
Floating stickies Always on top, on every Space. Drag to move, resize from the corner
Created time Each note shows when I wrote it and a live counter: 06:28 · 18 min ago
Quiet chrome Full screen, edit and delete buttons appear only when the pointer is on the note
Full screen, all The button covers every display with the note in large bold type
Full screen, 1 screen Click a note, press ⌘↩: full screen only on the display where the note sits
Step through notes ← and → move between notes in full screen. Any other key or a click closes it
Undo delete Delete fades the note out and offers Undo for 6 seconds. ⇧⌘T restores it later
Menu bar My logo in the menu bar lists every note, hides or shows them all (⇧⌘H)
Memory Notes, positions and sizes survive a restart

The composer follows light and dark mode. This is the dark version, editing a list:

The 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

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 cloud, no subscription. The notes stay in 1 file on my Mac.

The limit: it's a personal tool for 1 machine. No sync to the phone, no sharing.

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
ComposeWindowController.swift SwiftUI composer in an AppKit window
StickyNoteController.swift Borderless floating NSPanel per note
FullscreenPresenter.swift 1 borderless window per NSScreen, auto-fitted type
NoteStore.swift Note model, JSON in ~/Library/Application Support/Stickee/
Theme.swift NicAI design tokens: colours, Montserrat, Lato, logo

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.

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.

Today it's about 2,000 lines of Swift in 7 files.

The Stickee app icon: a white rounded square with a red bar on the left, the hexagon edelweiss logo and 2 black text lines

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.