Photo: Unsplash
The Raycast AI Workflow That Replaced 5 Mac Apps for Me
Last spring I did an audit of my Mac’s menu bar and Applications folder and found five apps whose entire job had quietly become “a worse version of a prompt”: DeepL for translation, Grammarly for proofreading, TextExpander for snippets, the Mate dictionary app, and a one-trick summarizer utility I’d bought in a Setapp moment of weakness. Combined cost: roughly $25/month plus assorted one-time purchases. All five are gone now, replaced by Raycast with AI Commands bound to hotkeys. Here’s the full setup, including the exact prompt text for the commands that earn their keep daily.
Why Raycast is the right chassis for this
The thing that makes Raycast more than “another chat app” is selected-text context. An AI Command can grab whatever text is selected in any application — Mail, Safari, VS Code, Slack — run it through a prompt, and either show the result in a floating window or paste it back in place, replacing the selection. That last mode is the killer: AI becomes an invisible text transformation layer over the entire OS, not a destination you visit.
The mechanics, if you’re new to it: brew install --cask raycast, set the global hotkey (I use ⌥Space and left Spotlight on ⌘Space for files). AI features need Raycast Pro ($8/month) for cloud models — or, and this is the power-user route, free with your own local models: Raycast Settings → AI → enable Ollama under local models, and every AI Command can run against llama3.1:8b or qwen2.5:14b on your own machine. I run grammar and translation against local Qwen (instant, private, free) and keep Pro’s frontier models for the summarizer command where quality gaps actually show.
The five apps, and what replaced each one
1. DeepL → “Translate ↔ EN/CS” command. DeepL’s quality advantage over a good LLM evaporated a while ago, and an LLM translator understands instructions (“keep the markdown formatting,” “this is a formal email”). Mine detects direction automatically — Czech in, English out and vice versa — which DeepL’s UI still makes me click for.
2. Grammarly → “Fix Grammar” command. Grammarly wanted a browser extension with deep page access and a subscription, to do something an 8B local model does in 400 ms with zero telemetry. The replacement edits in place: select sloppy sentence, hit hotkey, watch it heal.
3. TextExpander → Raycast Snippets + AI. Raycast’s built-in Snippets handle the classic expansion case (;addr → my address) for free. The AI upgrade is what TextExpander never could do: a “Draft Reply” command that takes a selected email and writes the response in my voice, which is dynamic expansion — same trigger, different text every time.
4. Mate dictionary → “Define & Use” command. Select any word anywhere, get definition, etymology, two example sentences, and near-synonyms with usage distinctions. A dictionary app gives you the entry; the LLM gives you the entry for your context — select “sanguine” inside a sentence and it tells you whether it fits there.
5. The summarizer utility → “TL;DR” command. Select an article (⌘A in Safari Reader view), hotkey, get a summary with key points. Works identically on PDFs in Preview, long Slack threads, and meeting notes — the standalone app only did web pages.
Setup walkthrough: the 3 highest-value commands
Open Raycast → search “Create AI Command.” Each command gets a name, a prompt (where {selection} injects the selected text), a model, and optionally a hotkey. Here are my top three with the exact prompt text — copy these verbatim.
Command 1: Fix Grammar (hotkey ⌃⌥G, output: paste in place, model: local qwen2.5:14b)
Fix the grammar, spelling, and punctuation in the following text.
Preserve the original meaning, tone, and formatting exactly.
Do not make it more formal. Do not expand contractions.
If the text is already correct, return it unchanged.
Return ONLY the corrected text with no commentary, no quotes,
no preamble.
Text: {selection}
The “no commentary” and “return it unchanged” lines are load-bearing — without them, models love to add “Here’s the corrected version!” which is fatal when output pastes directly over your selection. This single command runs 15–20 times on a typical writing day.
Command 2: Translate ↔ EN/CS (hotkey ⌃⌥T, output: show in window, model: local qwen2.5:14b)
You are a professional translator. If the following text is in
Czech, translate it to English. If it is in English, translate
it to Czech. Preserve formatting, markdown, and the register
(formal/informal) of the original. For idioms, translate the
meaning, not the words, and add a literal gloss in parentheses
only when the idiom is non-obvious.
Return only the translation.
Text: {selection}
Swap the language pair for yours. The auto-direction trick means one hotkey covers both ways — the thing that made me finally delete DeepL.
Command 3: Explain Code (hotkey ⌃⌥E, output: show in window, model: a frontier cloud model — this one deserves the good brain)
Explain the following code to an experienced developer who has
never seen this codebase. Cover: (1) what it does in one
sentence, (2) the flow step by step, (3) any non-obvious tricks,
edge cases, or potential bugs, (4) what could break it. Be
specific and concise — no generic advice.
Code: {selection}
I use this constantly during code review and when spelunking unfamiliar repos — select a gnarly function in GitHub’s web view, hotkey, understand it in fifteen seconds without leaving the page.
The combo move: clipboard history + AI
Raycast’s Clipboard History (free, assign it ⌃⌥V) is the underrated half of this workflow. Because every copy is retained and searchable, a pattern emerges that no standalone AI app can replicate: copy three things from three different apps — an error message from the terminal, a config snippet from VS Code, a sentence from the docs — then open AI Chat (⌃⌥A in my setup), paste all three from history, and ask “why doesn’t this config produce this documented behavior, given this error?” The clipboard becomes a staging area for multi-source context. I debugged a Tailscale DNS issue this way last week in four minutes, entirely inside Raycast.
Snippets compose with AI too: my ;mtg snippet expands a meeting-notes template, and after the meeting, the “TL;DR” command condenses those notes into the three bullets I actually send to the team.
Honest accounting
What this costs: Raycast Pro at $8/month if you want cloud models, or $0 if you run everything against Ollama (a 16 GB Apple Silicon Mac handles qwen2.5:14b-class models comfortably for these short-text tasks — grammar fixes complete in under a second). What it replaced: DeepL Pro ($8.74/mo), Grammarly Premium ($12/mo), TextExpander ($3.33/mo), Mate ($10 one-time), and the summarizer (Setapp filler). Net: cheaper, faster, and four fewer background agents nibbling my battery.
What it doesn’t replace: Grammarly’s inline squiggles as you type (I traded continuous checking for on-demand, and don’t miss it, but you might), and TextExpander’s team-shared snippet libraries if you need those organizationally.
The real shift isn’t the app count — it’s that “AI” stopped being a website I visit and became a verb available on any selected text, anywhere in macOS, in under a second. Build the Fix Grammar command tonight; it’s ninety seconds of setup, and it’s the one that makes the rest of this workflow click.
