Capture only what you choose with Vision-Language (VL) models.
QuickNote is a lightweight, privacy-minded capture workflow for iOS and macOS.
Instead of continuously recording everything on your screen, QuickNote uses an intentional model: you only capture what matters. When you take a screenshot, QuickNote sends the image (plus your prompt) to a Vision-Language model, converts the result into clean Markdown, and saves it to Memos for long-term search and organization.
The core idea is simple:
- Screenshots are easy to take, but hard to search later.
- LLM-structured notes are easy to search, tag, and reuse.
- You should control what gets saved.
QuickNote was inspired by the discussion around Microsoft Recall, but follows the opposite design philosophy: selective memory over passive, always-on recording.
IOS / MacOS (Shortcuts)
│
▼
┌───────────────────────────────┐
│ Server │
│ (VisionLanguage Model) │
│ parse │
└──────────────┬────────────────┘
│
▼
Memos
- Turn raw screenshots into searchable notes.
- Keep both the original image and extracted text context.
- Make capture frictionless on mobile and desktop.
- Organize notes in Memos with keywords and hashtags.
QuickNote is currently built around Memos as the note interface and storage layer.
On the client side:
- iOS: Trigger capture with Apple Shortcuts.
- macOS: Trigger the same Shortcut via hotkey (for example through Raycast).
Use this shortcut template:
After importing it, update the request URL so screenshots are sent to your own QuickNote server. On iPhone, users can bind the Action Button to the Shortcut to trigger it.
On macOS, you can bind the Shortcut to a global hotkey with Raycast.
Example:
- Hotkey:
Command + F2 - Priority: set to high (so the hotkey is reliably captured)
QuickNote depends on Memos. Users can deploy Memos first independently, then configure and run the QuickNote server. Or to make a quick setup, users can also use below docker compose.
cd server
cp .env.example .env
# edit .env and set your provider + API keys + memos settings
docker compose upOnce the server is running, point your Shortcut to the server URL and start capturing.