Productivity, in my experience, often means investing an absurd amount of time in setting up a perfect system rather than focusing on getting things done. Building a productivity tool for Open Targets was no exception, but now that it is complete, I hope it proves to be a valuable addition to your workflow.
Raycast
Raycast is a productivity app that stands out from the rest. While there is certainly a bit of a learning curve to get started, I have found that the benefits far outweigh the initial challenges. Think of it as a turbocharged version of Spotlight, providing instant access to a wealth of small utilities for interacting with your system and the web.
I've been using it for over a year now and it has become one of my indispensables. In this time as a "beta tester", I've seen the app mature and improve to the point where I can highly recommend it to anyone looking to boost their productivity. In fact, Raycast has even replaced Alfred for me, and for several good reasons:
GitHub integration - if you're a heavy GitHub user, being able to search for a repository or issue with a couple of commands just feels amazing;
DeepL integration - a lifesaver if, like me, you work in a foreign language;
Built-in utils like Clipboard History (a must - works with images too!), Caffeinate (to avoid your laptop going into sleeping mode), and Window Management (to resize your windows at will);
But wasn't this about Open Targets?
As part of the data team at Open Targets, I'm accessing the content of the Platform and Genetics all day long, either programmatically or through the websites. I use it enough that the process of opening the browser, going to the homepage, and doing the search manually seems too complicated. So I thought an extension in Raycast would be the ideal use case to have an easy-to-use and immediate link to the Open Targets ecosystem.
The Open Targets Raycast app
This is the current interface to the app in Raycast. As of version 1.0.0, the extension offers three main functionalities:
Search the Platform/Genetics. To search for any of the entities in our Platform or Genetics apps - such as targets, diseases, phenotypes, drugs, variants, genes, or studies - simply enter a search query using the search bar. This command works by calling the search endpoint of our API.
👉 Useful e.g. to quickly find out which are the main properties of a disease and which targets play an important role in it.
👉 I also use it a lot to "translate" an ID to its label. We operate with ontologies, so it's useful to have a quick way of knowing that CHEMBL27 refers to Propranolol.
Browse Datasets. My favourite one. To consult what annotations we have in the different datasets that make up the Open Targets universe. In the top right menu, you can filter the datasets according to which app they belong to.
👉 Really useful to quickly look up the name of that field you can never get right or in general how we encode the information in the schemas.
💡 Press enter and you will copy the path to that dataset in Google Cloud Storage (if you have set up the required permissions).
💡 To access the EBI FTP link, press
cmd+K
to find the option.
Access our Platform/Genetics Docs. A simple quick link to our documentation.
Tired of not having your favourite gene on hand? Me too! Download the Open Targets Raycast extension directly from their Store.
And that's it! The main complexity (and a little bit the incentive) of this project has been, and still is, to fight with React and Typescript, the frameworks used by Raycast. Although I had zero experience with these technologies, the rich and illustrative documentation of their components has been an absolute key (... plus it never hurts to have Carlos Cruz around).
The next version is in the oven, featuring an intelligent search for documentation based on natural language that has me quite excited. You can stay up-to-date by following me on Twitter/Mastodon. Give me a shout-out if you are using the app and let me know your thoughts!