A command palette for the web

Meet Hotlight - a command palette for the web.

Most people you meet that programs for a living, does so with the help of Open Source. Directly or indirectly and most of the time to a great extent.

I've been wanting to contribute back to the community for a long time, but haven't felt that there's been enough time to do so. But today, this will change. I've decided to create something that is similar to Spotlight, but Open Source and only for the web. Think web apps and frequently used sites.

As an avid neovim user, I'm used to navigate and interact with software only using the keyboard. Once you learn it, it feels really natural and you can spend more time thinking and reading code, because writing it is done so much faster.

Writing code is one thing, but navigating through a UI with your keyboard can be a super power. The command based User Interfaces that most systems consisted of historically, I'd argue deserves a place in todays modern web.

An early GIF that shows what interacting with Hotlight looks like
An early recording of basic the functionality of Hotlight Command Palette.

I believe we're in a time where there's a natural place for such a system. I believe cluttered UI's can become better in a matter of minutes by offering a quicker way to navigate and interact only by using the keyboard.

The Hotlight project is super early, but I hope you'll follow the journey and perhaps contribute to something that will change the way a lot of end users can choose to interact with web apps.

The goals with Hotlight are:

  • Satisfy the need for end users to navigate and interact with web apps only using their keyboard
  • Support the major web frameworks making integration a breeze
  • Explore and learn building an Open Source project from the ground up

Use cases

Let's take a CRM as an example. It has contacts (people), organisations (businesses mostly), deals (holding information about price, offer etc).

In a CRM, the end user (salesperson) would be able to create a contact, attach it to an organisation, close a deal, attach a note on a deal or even initialize a call to a contact. These would be just some of the actions an end user might interact with a CRM, and remember - all these cases can be achieved only using your keyboard!

Potential challanges

The scope of the client side features is limited, and in fact currently quite suitable for a side project. Gradually adding features and adding support for additional frameworks. However, there might be a time where we need to take server side into consideration as well, especially when web apps usually are protected by some kind of authorization. The scope might grow.

It's come to my awareness, that there's a major player in this space that recently added about $5 million in vc funding. Dough. But I choose to see this as some kind of proof of traction for this kind of tool. Also, I've been there myself, in the situation where you all of a sudden have alot of money on your hands through investors and you experience the pressure of not only spending it on the right activities, but also spending it as fast as possible. This time I don't need that kind of pressure.

Open Source as a distribution channel

I'm looking forward to see what building an Open Source community around this thing will look like and if there's enough need for it. I think Open Source business models has their challanges, so I'm probably best of thinking of it as some kind of distribution channel from the start. At worst, I'll get the chance to know and work with good people on something I enjoy doing. Even if it's my spare time.