How I Use Raycast

What's in My Raycast

I've been using Raycast for over a year now, and it has become an indispensable productivity tool for me. The official team has released a series of videos on YouTube called "What's in ___'s Raycast," showcasing how designers and developers use Raycast. I'd like to share my own experience with this amazing tool.

Launcher

Powerful Fuzzy Search

First and foremost, Raycast is a launcher - the core of "Your shortcut to everything." Launching apps, settings, commands, everything. The key to this is having powerful fuzzy search capabilities. Raycast offers robust fuzzy search that's friendly to both English and Chinese. In contrast, macOS Spotlight search is not only slow but also doesn't support fuzzy searching by pinyin initials. For example:

Spotlight search doesn't support fuzzy searching by pinyin initials, so searching 'wx' won't show WeChat results
Spotlight search doesn't support fuzzy searching by pinyin initials, so searching 'wx' won't show WeChat results

In Raycast, this works effortlessly:

Raycast perfectly finds WeChat
Raycast perfectly finds WeChat

Initially, I thought the apps themselves contained alias information that allowed Raycast to simply process Chinese like English through these aliases. But that's not the case. For instance, I have a Quicklink named "My Productivity Tools Presentation" in pure Chinese, which shouldn't have any aliases. Yet I can still search for this Quicklink using "wdxl" or "yswg":

For custom Quicklinks, Raycast also successfully supports fuzzy searching by pinyin initials
For custom Quicklinks, Raycast also successfully supports fuzzy searching by pinyin initials

Apart from limited permissions as a third-party software, Raycast as a launcher can completely replace macOS Spotlight search.

App Launch and Hide

I set keyboard shortcuts for apps I frequently need to summon/hide, like WeChat and Enterprise WeChat. Raycast has an excellent mechanism - when you set a shortcut for an app, pressing it will have different behaviors:

If the app isn't running → Launch the app

If the app is running but not the active window → Bring it to the foreground

If the app is running and is the active window → Hide the app

This creates a very convenient workflow: when working and wanting to send a WeChat message, press the shortcut to summon WeChat → send the message → press the shortcut again to hide WeChat → continue working.

Or if you just want to check if there are new messages in a group (procrastinating 🐟), you can rapidly press the shortcut to switch screens like Faker ⚡:

Extensions

Apple Reminders

I recently switched from TickTick to Apple Reminders, making Apple Reminders my most used and favorite extension. The Quick Add Reminder command allows for quick reminder creation with natural language input and AI-driven parsing. Adding reminders becomes highly efficient - just describe the reminder content, and AI automatically fills in information like reminder text, date and time, recurrence, list, priority, or location. I can add reminders anytime without interrupting my work.

Using the Quick Add Reminder command to quickly add reminders
Using the Quick Add Reminder command to quickly add reminders

Change Case

When coding, I often need to convert between different string formats. For example, I prefer writing component file names in kebab-case, component names in PascalCase, and functions/methods in camelCase. This extension helps me convert between different formats easily.

Converting between different string formats while coding
Converting between different string formats while coding

Window Layout

macOS window management has never been great. While Raycast's built-in dozens of window control commands improve efficiency to some extent, having so many commands was overwhelming until the window layout feature arrived.

We can pre-define layouts for daily work, set up specific applications individually, and even make apps open links or Quicklinks. For instance, you can have your IDE open recent projects, or browsers open specific documentation or localhost:3000:

Raycast's Create Window Layout Command
Raycast's Create Window Layout Command

Even if window positions and sizes change for various reasons, or other apps appear on top, you can instantly return to your work state with one keystroke:

AI Command

Raycast's AI functionality has three parts: Quick AI, AI Chat, and AI Command. The first two have become less impressive with the emergence of official AI clients and numerous third-party AI tools. However, I believe AI Command is Raycast AI's biggest killer feature and something other AI tools lack. It integrates AI more tightly with the system, allowing AI to better blend into my specific workflows - this is what AI should be like in my mind.

AI Translation Tool

For example, it can create an AI translation tool:

Creating a simple AI translation tool with AI Command
Creating a simple AI translation tool with AI Command

The prompt I wrote is essentially the basic logic of a translation tool, plus some constraints like not allowing additional content and choosing the faster Llama 3 70B model. Finally, setting a keyboard shortcut for this command creates a tool that translates selected text. Similarly, by changing {selection} to {argument name="Argument"}, you can translate any text. Using {clipboard} translates from clipboard, and you can even set it to {browser-tab} to translate web content. Set keyboard shortcuts for these AI Commands, and congratulations - you hardly need other translation tools anymore.

My translation-related AI Commands
My translation-related AI Commands

Text Processing

Besides translation work that requires AI to "think" for us, there are repetitive, mindless tasks that can also be handled by AI. For example, when I need to add sequence numbers to multiple lines of text, AI Command can complete this quickly:

Easy batch text processing with AI Command
Easy batch text processing with AI Command

Obviously, you might never have such needs, but this is the charm of AI Command - it can implement customized solutions based on personal workflows or problems encountered. As long as you use your imagination, AI Command has extremely high potential.

AI-Generated Git Commits

Since processing and understanding text content is AI's strength, we can go further. This is an inspiring example shared by @thomas_lombart on X:

This implements having AI analyze git diff results to automatically generate compliant Git Commits. Pretty cool, isn't it?

The principle is simple: first create an AI Command and copy its Deeplink, then run this command in terminal: git diff | pbcopy; open raycast://ai-commands/git-commit-message.

Conclusion

Raycast has become an indispensable productivity tool for me. It has changed how I use my Mac, with excellent aesthetics and user experience. Looking forward to iOS and Windows versions.