Quick Quit - Raycast Extension
tl;dr: I built a raycast extension from scratch using AI to help me quit a set of apps on my mac at once.
Download link: Quick Quit
what is raycast?
Raycast is a productivity app that allows you to search and run actions on your mac. It’s mac spotlight on steroids. It’s one of my favorite apps of all time.
why quick quit?
It’s been over a month since I made the leap to use AI everyday. For work, personal tasks, and everything in between. Part of this routine has made me try different apps day in and day out. You can set up a workflow in raycast to open a set of apps at once. I increasingly found myself frustrated by forgetting about random apps running background tasks that I had neglected to close.
It’s not the most painful problem in the world but it’s weirdly frustrating at times to see a cluttered workspace. So I thought there must be an easy way to automate this. So I made a raycast extension completely from scratch using AI.
how does it work?
Quick Quit is a power-user utility designed to reduce context switching and manage workspace clutter. Instead of quitting applications one by one, you can define logical categories (e.g., “Work”, “Design”, “Social”, “Dev”) and quit all apps in a group with a single command or a dedicated hotkey.
here’s a quick demo:
how did I build it?
this project took me about ~250 prompts overall across a few models. (I’m just tracking this to see if I get better at prompting and building projects over time).
tools & models used:
- Windsurf (IDE)
- Gitingest - for turning any git repo into a simple text digest
- ChatGPT o3 - for planning and brainstorming
- Gemini 2.5 Pro (High) - for writing the code
- ChatGPT 4.1 - for debugging and testing
windsurf :
I know the whole world is gaga over cursor and no one can believe someone using windsurf but since the first time I used it, I’ve found it to so easy to use as a non-dev. I just felt that auto-tab completions on windsurf is far superior to cursor (for me).
o3:
Most of my prompts were spent on pre-planning, understanding the tech complexity, feeding raycast documents to o3 and asking it to teach me how the system works, etc.
This is currently my go-to model whenever I want to brainstorm about something. I have found it to be extremely honest (when you ask it to be so) and direct when you are jamming ideas. It’s refreshing to fine-tune your idea in real time.
Gemini 2.5 Pro:
I saw LMArena benchmarks which claimed that Gemini 2.5 Pro was the best model for generating code. So I wanted to give it a shot.
Gemini 2.5 Pro (High) is pretty good at building the boilerplates, understanding your exact context and producing bug free code (most of the times). The larger context window truly helps when you are generating code feature by feature.Although, my tests have been inconclusive when it comes to the model handling multiple unique tasks at once.
One of the more annoying parts of this model is that it tries to create functions/APIs that don’t exist. So I had to learn to tweak my prompts and break the tasks down, feed relevant API and existing code examples to gemini to make it work.
Another thing with gemini 2.5 pro is that it doesn’t self-analyze its output unless to specifically instructed. It does take a few trial and error attempts to get it right.
ChatGPT 4.1:
While the larger context windows of gemini 2.5 Pro helps you to generate good code, for some reason it failed to be objective about debugging, testing, etc. I switched to GPT 4.1, gave fresh context and began debugging and testing the code.
4.1 solved most bugs within the first answer it generated. required minimal re-prompting. Using GPT 4.1 via “Work with Apps” is truly a game changer. I rarely had to copy paste code or bugs. ChatGPT’s mac app was able to fetch the code files and suggested changes (Even auto-apply when needed).
things i learned:
using git/github (I know its silly, but learning git basics and actually using it was a refreshing experience. I’m not sure if devs will understand how confusing it can be for someone who’s never used it before.)
actually shipping something: I’ve built several tools for myself using AI but never really shipped it to prod. just the act of shipping this extension has been a fun experience and it feels so good to learn something from scratch again.
using AI to build something without knowing to code is painfully frustrating. I had to learn to flip my prompts in a way that I understood every component / file / function. This way, its almost like a coach pacing along with you as you race to the finish line.