Launch HN: Raycast (YC W20) – CLI-inspired desktop app for non-coding tasks
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 bet...
80 comments
[ 2.5 ms ] story [ 143 ms ] threadWe're going to be adding more integrations in the future, such as GitHub, GitLab, Slack, GSuite and so on, stay tuned.
Product looks interesting though!
As to why exactly we picked it: as ray casting is a way to instantly query information about closest objects, we thought it would be a good metaphor for instantly querying and accessing different third party services. Rays represent speed and focus.
Agreed! This name is poorly chosen. Most people have a general familiarity with what raycasting is about and will likely be confused by this usage.
It feels to me like something a motivated open source project could do well, too. What's the thing that will get people to pay for this? Slick team/enterprise features?
This is a great idea in theory but much harder to do properly in practice. The idea is only really worthwhile as long as you can really extend it to a lot of things(no one cares about adding an Nth tool that can do GitHub and jira and one more thing).. and that's where this is going to go wrong.
There are reasons the interfaces to many tools that we use are as complicated as they are - it's needed to use the tool to its full effect. In order to achieve the same effect in this tool, you are doomed to constantly reimplement literally the entire interfaces of all the interesting services, just as CLI interfaces.. and that's just not gonna scale.
I'm not into all this YC stuff, but does the YC20 in the title means that someone has funded this idea?
1. We won't build all the integrations ourselves. There are just too many individual things. We'll provide an API that developers can use to cover their custom workflows. 2. Raycast doesn't replace your other tools. It makes the common interactions with them simple and fast. We believe that it shouldn't take plenty of clicks to create issues in Jira or update any statuses and that there is an huge opportunity to streamline this tasks. Think about it as a companion app for your web apps.
And to your last point: Yes, we got funded by YC.
But I hope I'm wrong, since I would really love this. I use rofi + some custom shell scripts to achieve a similar interface in some ways, but as I imagine you know very well by now, going from something like that, to something that integrates with jira(or whatever) is not just a couple of steps.
It just means they are part of the Winter 2020 batch (the most recent one).
You are right about the interface getting really complicated if every feature is to be implemented. But, assuming the 80/20 rule is in effect - Most of the time we would only be using a few features. As long as they identify those features and only implement them well, this tool will have great value.
Anyone who has to use Jira on a daily basis will definitely want to try this out!
Yes, Y Combinator (ycombinator.com) is a top startup accelerator (and the owner of the site you are currently on).
They fund batches of 150+ startups twice a year. W20 means they were in the first batch of this year.
Not only that, but the Launch HN title means that it's a promoted post [1]. Launch HNs are one of three formal things [2] that HN gives back to YC in exchange for funding it.
[1] https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
[2] The others are job ads for YC startups and displaying YC founder names in orange to other YC founders.
It's existed for almost 40 years, and it's called emacs. If anyone questions emacs's ability to display incredibly useful UIs, try using magit[0]. Emacs sucks though, so I hope this comes out better!
[0] https://magit.vc/
About 10 years ago or so Aza created Enso which ran on the desktop and then Ubiquity which ran in the browser. These were both steps in this direction. I looked at going further with the idea but quickly ran into the question of how best to implement with currently available desktop technologies. But a lot of folks have been nibbling at the edges of this problem for a long time and they end up using rofi or dmenu or emacs and a bunch of custom scripts.
In my opinion one really needs to design a brand new shell from the ground up. But when I say shell I mean OS, not terminal.
2. Is the app a native Macos App or some react-native/electron wrapper?
You want these to come and go quickly, at the whim of a fingertip. You want them to connect to your local search services, reuse local components, etc.
The biggest problem for most of these "Launchers", is that they try to be cross-platform, making them slow and a pain to use, as soon as you want more than just basic seek&run. I am still trying to find a suitable on Windows, that would make me as happy and satisfied as Quicksilver does on macOS.
Also use SmallWindows for a Mission Control like interface.
I expect to see more trends of the spotlight/alred/vscode command+p UX being used for different verticals.
Pretty meh on this use case, however, as devs are very difficult to sell to. I guess that's why you're focused on Jira and selling to enterprise.
From my IDE , I can already interact with GitHub, JIRA, search stack-overflow, and pretty much anything else either natively or through the plugin system.
eg - https://marketplace.visualstudio.com/items?itemName=Atlassia...
Though it seems that they're only primarily focused on work issue tracking (GitHub, Figma, etc.).
[0] https://linear.app/
[1] https://techcrunch.com/2019/11/21/linear-lines-up-4-2m-led-b...