Launch HN: Raycast (YC W20) – CLI-inspired desktop app for non-coding tasks
Hey,

Thomas and Petr here from Raycast (https://www.raycast.com). We are building a command-line inspired native app to save developers time on non-coding tasks, such as managing active sprints in Jira, sorting out notifications in GitHub, or checking metrics in Amplitude.

Both of us are software engineers and we noticed that we were spending less time coding and more time managing the software development process. We had to keep track of bug reports, manage sprints, comment on pull requests, release new versions and many more things that eat up a big portion of our time. All of those tasks are spread across web tools that aren't optimized for power users. When we used these tools every day, loading times became annoying, animations turned into pain and clicking 10 buttons for the simplest things didn't feel right.

We built an internal productivity tool that addresses this issues in our previous jobs at Facebook as a side project. It was a desktop app for macOS that sits in the menu bar and connects to the internal issue tracker. The app displays your open issues and has a global shortcut to create a new one. The tool allowed us to replace the slow web app for the majority of our work and saved us time. When other engineers enjoyed the simplicity and speed of the tool, we realized that such an app can be applied to other web tools as well.

Everybody has to deal with one of these. Take Jira, for example: to update the status of an issue, you have to open the browser, create a new tab, navigate to the website and find the right issue. Only then can you change the priority. This feels broken! This kind of interaction shouldn't take that long. In fact, you should be able to do this without opening a browser, without seeing a loading indicator and without switching context!

Raycast is inspired by command line interfaces. These interfaces are a great way to escape from the clutter of typical web tools. They are simple, responsive and extensible. However, they also have drawbacks: rich media elements aren't well supported, ASCII characters are too limiting for advanced UI design and it's very hard to discover commands. Raycast is our attempt to combine the benefits of a command line with those of a modern user interface. Its UI is similar to Spotlight or Alfred. You can launch the app with a global shortcut, search for commands, and perform quick actions. Similar to CLIs, you execute application-specific commands in Raycast, such as creating an issue in Jira or opening a pull request in GitHub. An integrated store makes it easy to install new extensions.

The app is entirely designed to keep developers in the flow. Most important: it's fast! Our client-first architecture makes every interaction instant. The app is written natively to deliver the best performance with the least amount of resources. It won't drain your laptop battery and it's accessible via keyboard shortcuts.

Consistency is key to being more productive. Once you've learned how to create an issue in Jira via Raycast, you know how to schedule a meeting in Zoom, create a pull request in GitHub, or set a reminder for tomorrow. All commands follow a similar structure and share UI components to make them look and feel the same. The components are built for speed: Text fields have autocompletions, elements in dropdowns are searchable and automatically remember previous choices. The app doesn't require a login and your data is stored encrypted on your local hard drive. All the API requests go directly to the third party services and we don't track any sensitive data.

At the moment, Raycast is only available for macOS and we're focusing on the fastest experience for Jira. Upcoming extensions will include an inbox for your GitHub notifications or utilities such as reminders. We can't build all extensions ourselves and believe in an open platform. We will release an API to build custom extensions and use the private beta to make sure that we can provide a great developer experience. We have tons of ideas and would love to hear what would you like to see in a tool like this.