A tiny, portable scratchpad & snippet manager for Windows
One hotkey. Instant window. Your prompts, notes and drafts — always one keystroke away.
Press Alt+X anywhere — in your browser, IDE, terminal — and FastPrompter pops up at your cursor with everything you keep: auto-saved scratchpads (silos), reusable snippets on F1–F10, per-project tabs, and an archive. Press Esc, it vanishes. Everything lives in one folder, saved in real time. No cloud, no accounts, no telemetry.
| 🗄️ Silos | Up to 100 auto-saved scratch slots per project — kill the app, your text survives |
| 📋 Snippets | Named text blocks, pasted instantly with F1–F10 |
| 🗂️ Projects | 5 independent tabs, each with its own silos, snippets and archive |
| 📦 Archive | One click stores the current silo or snippet out of the way |
| 📌 Pin & tint | Hover a silo for pin/archive buttons; silos tint by how recently you edited them |
| 🖱️ Wheel everything | Wheel flips pages & switches tabs, Ctrl+wheel walks silos or zooms text |
| ✍️ Markdown editor | Live highlighting, real checkboxes, auto-bullets, --- dividers, Ctrl+E headers with timestamp |
| 🦓 Readability | Zebra stripes, line numbers with clickable margin marks, word wrap, zen mode |
| 🎨 6 vintage themes | Win95-style bevels, warm amber-on-black, OLED — plus a full custom color editor |
| 🎵 Sounds | Optional UI clicks and a typewriter tick, with volume control |
| 📄 Drop any file | Drag ~50 text-based file types into the editor — loads as plain text |
| ↩️ Undo everything | Ctrl+Z covers text and silo operations (clear, delete, move) |
Portable EXE — grab it from Releases, run it, press Alt+X. No install, no Python, no admin rights. The database lives in a data/ folder next to the EXE — run it from a USB stick if you like.
From source:
git clone https://github.com/vacterro/FastPrompter.git
cd FastPrompter
uv sync && uv run python FastPrompter.pyw # or: pip install -r requirements.txtBuild your own EXE (~26 MB — unused Qt modules are stripped):
python tools/build.pyGlobal (rebindable, two slots each): Alt+X / F15 toggle window · Shift+Alt+X quick list · Alt+D sidebar · Ctrl+Shift+L lock window · Ctrl+Shift+E always on top
In-app keys
| Key | Action |
|---|---|
Ctrl+N |
New empty silo |
Alt+Up / Alt+Down |
Previous / next silo |
Ctrl+1–Ctrl+0 |
Jump to silo 1–10 |
F1–F10 |
Paste snippet 1–10 |
Ctrl+S |
Save / update snippet |
Ctrl+W |
Insert --- divider line |
Ctrl+E |
Header + timestamp on current line |
Ctrl+Return |
Toggle checkboxes |
Ctrl+B / I / U |
Bold / Italic / Underline |
Ctrl+F / Ctrl+H |
Find / Replace |
Ctrl+Z / Ctrl+Shift+Z |
Undo / Redo (text and silo actions) |
Ctrl+Q |
Cycle window through screen corners |
Ctrl+D |
Focus (zen) mode |
Ctrl+Shift+S |
Export silo to file |
Esc |
Close search → hide & save |
Ctrl+Alt+Shift+Q |
Quit completely |
Mouse gestures
| Gesture | Action |
|---|---|
| Wheel over silos / snippets / archive | Flip pages |
Ctrl+wheel over silos |
Select previous / next silo |
| Wheel over tab bar | Switch project |
Ctrl+wheel in editor |
Zoom font |
| Middle-click a silo | Clear it (already empty → delete the slot) |
| Hover a silo | 📌 pin / 📥 archive buttons appear |
| Right-click a silo | Transfer to project, replace from, move to bottom… |
| Drag a silo between others / onto one | Reorder / swap |
Everything is local and yours:
- Database —
data/local_data_v15.dbnext to the EXE, saved in real time - Markdown mirror — silos, snippets & archive exported daily as plain
.mdfiles toDocuments\.fastprompter\(on by default, toggleable), readable without FastPrompter - Crash log — written next to the EXE; crashes are loud, never silent
Python 3.11 + PyQt6, SQLite via the standard library, Win32 RegisterHotKey for global hotkeys, Nuitka for the single-file EXE. Sounds use QSoundEffect with a stdlib winsound fallback, which keeps the FFmpeg payload (~100 MB) out of the build entirely.
uv run pytest tests/ # 461 unit tests
uv run pytest tests_smoke/ # 27 integration tests — boots the real app offscreenMIT — see LICENSE.





