← All projects

macOS app

Pastefast

Everything you've copied sits on a shelf at the bottom of the screen and is searchable in a millisecond. Including text from screenshots.

View
Status
close to release
First commit
16 October 2026
clipboard history shelf with in-memory search and on-device OCR
Stack
Rust, egui, fastframe, SQLite, Apple Vision

Why I built it

I copy things all day. Terminal commands, agent answers, links, screenshots of error messages. I liked Paste for macOS, but two things were missing: I wanted to see where something came from, and I wanted to search my whole history instantly, including the text in images.

On October 16, 2026 I looked at fastframe, the Rust framework by Carmine Paolino for fast native apps. My first message to the agent was roughly: build me something like Paste, but with context and a really fast full-text search. The first version ran that same afternoon. My reaction: “crazy thats already pretty good”.

What it does

  • A shelf at the bottom of the screen with everything you’ve copied. Unlimited history in SQLite, images stored as files next to it.
  • Search across the full history, with filters like app:chrome is:image date:week.
  • Text in copied images is recognized on device (Apple Vision). That makes screenshots searchable.
  • Every entry remembers the app, the window, and for terminal copies the directory and the Git repo.
  • Pinboards with names and colors, Quick Look, paste several entries in sequence.
  • Password managers are ignored. API keys and tokens are masked and forgotten after a day unless you pin them.

Technical decisions

Search in RAM instead of an index. The history is searched entirely in memory with SIMD substring scans. A year of heavy use, around 110,000 entries, answers in about 1.3 milliseconds. A classic search index would be more code for less speed.

Speed as a test. On the second morning I worried we’d make the app slower with every feature. So now there are speed budgets on an artificially full history of 50,000 entries, running in CI on every push. Blow a budget and you know right away.

No overlay. The first version put an invisible layer over the entire screen. It felt wrong. Now the shelf is a window that doesn’t steal focus, and clicks above it pass through.

Terminal text that works again. A multi-line command copied from the terminal often stops working after you paste it. Pastefast pastes it into the terminal as a clean, runnable command.

From the sessions

Most of it was polish by eye: pills that jump on hover, a Quick Look that makes the whole app flicker, an edit dialog that looked “not Mac-like”. I sent screenshots, the agent fixed things, I checked.

The most annoying part was macOS itself. Every build asked for accessibility permissions again. The fix was a dedicated, trusted developer certificate, so the permission survives rebuilds.

For the release, a script signs and notarizes a universal app, and installed versions fetch updates on their own. I moved the first run from CI to my MacBook, because the runner was billing for the entire wait at Apple. Pastefast is almost done. The first release ships as soon as notarization goes through.