Inspiration

Largely inspired by Raycast and Alfred for Mac, I wanted a similar software that would work on Linux and Windows.

What it does

(Functionality is missing.) Pitstop was planned to be a menu similar to the aforementioned tools, with the following base features:

  • Launching apps
  • Calculation with unit conversion
  • Navigating the filesystem and opening files
  • Plumbing (take selected/clipboard text and run actions on it)
  • Extensibility

How I built it

I used the Rust GUI library "iced," along with a few others for interprocess communication and other miscellaneous tasks.

Challenges I ran into

I ran into mostly issues with Rust's async facilities, because I hadn't used them in a project of this scale before. Near the end, I also struggled to write the code for the actual population of the menu with searchable entries due to me not being a master of taming Rust's borrow checking.

Accomplishments that I'm proud of

I figured out an extremely weird issue caused by iced's "Subscription" struct, which I solved by using an async channel to keep the background interprocess-communication listener task alive.

What I learned

I learned to plan and think things through more thoroughly before starting to work on them, because I ran into many unexpected roadblocks which halted my progress.

What's next for pitstop

I will probably finish the planned features on my own time.

Built With

Share this project:

Updates