Printy
Watches folders and prints what lands in them — a scan, an export, a label. One printer and one set of settings per folder, configured once. Waits until a file has finished being written, never prints the same thing twice, and treats a printer that is switched off as a pause rather than a failure.
What it is
A scanner drops PDFs into a folder. An ERP export writes delivery notes. A label generator produces one file per parcel. And then somebody opens each file, picks the printer, hits print, and closes it again — all day.
The cost only becomes visible once you add it up: a minute of clicking per document, several times an hour — and it stops entirely the moment that person is in a meeting, on holiday, or simply not at that desk.
Yet the rule behind the clicking is almost always trivial: everything that lands in this folder goes to that printer, two copies, double-sided. Printy is a place to write that rule down once.
Highlights
- One folder, one rule — printer, copies, duplex, colour, file types, check interval, and what happens to the file afterwards. Each watched folder carries its own settings and does not interfere with the others.
- Waits until the file is finished — a file still being written is left alone until it stops changing. A half-transferred scan would otherwise come out as half a page.
- Never prints the same thing twice — Printy recognises a file it has already handled by its content, not merely by its name.
- A printer that is off is not a failure — the queue holds instead of failing job after job. Nothing is lost, no retry is consumed, and printing resumes on its own once the printer is back. A genuinely broken file gives up after three attempts, on its own, and lets the queue carry on.
- Nothing is deleted by accident — a printed file moves to a subfolder, stays where it is, or is deleted, as you choose. A file that could not be printed is never deleted — not even in a folder set to delete. That is precisely the file you still need.
- No surprises when setting up — whatever is already in a folder when you add it counts as done. Only new arrivals are printed, unless you explicitly ask otherwise. Two hundred old scans should not mean two hundred pages.
- Runs in the background — tray icon, start with the computer, start minimised, one global pause. Notifications for everything, for failures only, or not at all.
- A history you can act on — every job with its folder, printer, time and outcome, filtered down to failures if you want, and each one reprintable — with the settings it was originally printed with.
- Your data stays here — no account, no sync, no telemetry. Everything lives in a single file on the machine. File contents are read in order to print them and not stored.
Tech stack
- Rust with Tauri 2 for the core: folder watching, queue, and the printing path
- React 19, TypeScript, and a purpose-built interface in German
- SQLite for folders, settings and history — one file, no server
- On Windows each page is rasterised and placed by Printy itself; on macOS the system print service does it
Availability
Windows is the target platform; macOS is supported as well. One difference is documented rather than hidden: with fit-to-page turned off, Windows shrinks oversized content while macOS crops it — the print service there has no “shrink but never enlarge” mode.
Install
On Windows, take the installer from the
latest release — either the .exe or
the .msi. A portable variant is published alongside them for machines where nothing may
be installed.
On macOS:
brew tap NoiXdev/tap
brew install --cask printy
macOS builds are signed and notarized.
Status
Printy is LIVE (v1.0.0). Issues and PRs are welcome — github.com/NoiXdev/printy.