I’ve used a Stream Deck as an integral part of my personal and work desk setup for over three years. I bought my first one, a Stream Deck+, on a whim, because it had knobs, and I thought the buttons seemed cool. I’m not a streamer, and this blog is the only “content” I create, so I’m far from the target customer, but it’s become a critical productivity tool for me. Here are 5 ways I’ve integrated the Stream Deck into my daily workflows as a software engineering leader.

1. As a Zoom controller#

Video calls are a natural fit for the Stream Deck. At work, I’m a heavy Zoom user (25-30 calls a week). I like to be able to control Zoom even when the window isn’t focused, so I’ve setup gobal shortcuts for common actions:

  • Toggle Video
  • Toggle Audio
  • Raise/Lower Hand
  • Show/Hide Chat
  • Swap Windows
  • Gallery/Focus View

The challenge with global shortcuts is that, in order to have shortcuts that don’t overlap with other apps, you need some pretty esoteric and hard to memorize combinations. Enter the Stream Deck…

I have a folder with six Hotkey buttons mapped to my Zoom global shortcuts. I round out that folder with a seventh button that closes Zoom so I can quickly exit calls. I wish I could set a shortcut to exit a call, without quitting Zoom, but that isn’t an option, at least on the Mac.

2. As a Jira dashboard#

Much of my career has been spent making peace with Jira, and the Stream Deck has helped considerably. I make heavy use of the excellent Jira plugin. I have a button configured for each member of my team that shows how many incomplete tickets they have in the current sprint. Each button opens the Jira search showing the tickets. I also have a button for my team’s Sprint board, so I don’t need to remember my Board ID or navigate the unncessarily complicated UI.

I also use this plugin for a Confluence button that shows my open task count. This lets me use Confluence as a to-do list, by maintaining a private page where I use checkboxes, @-mentions, and dates to keep track of tasks. If you aren’t familiar with this in Confluence, the following will create a tracked to-do that is due on November 1st:

3. As a reading list#

The Stream Deck also helped me close dozens of browser tabs. I used to keep articles I planned to read open as tabs for months on end. It cluttered my browser, and also meant that a crash could kill my reading list.

I replaced these by keeping a list of articles I wanted to read, and adding a Stream Deck button that randomly opens one of the links. This way, I can pull up an article when I have a spare 10 or 15 minutes, but I don’t have the carry them all in my browser.

Initially, I used a Random Action button, and manually added each link as a Website action. This worked, but it was a little tedious, and hard to share across systems. Eventually, I wrote a plugin to open a random URL from a GitHub gist. Now I can maintain the article list in a central place, and access it across personal and work systems. If you’re curious, that list is currently 37 items long.

4. As a Gif control board#

I like Gifs a lot, and used to be a heavy user of the Giphy Slack integration, until it mostly broke. One thing that I didn’t like about it was that you couldn’t include a gif in a Slack message. I found this undermined my wit. What I really wanted was the ability to easily insert a specific gif in a message, but navigating to find the gif and then copying the right link was a bit more than I have patience for. Once again, Stream Deck to the rescue.

I made two pages of gif buttons–one filled with positive or supportive gifs, and the other with critical gifs. I try to use these in a 10:1 or higher ratio. These buttons simply paste the direct link to the gif, so I can easily add them to Slack messages. As a bonus, because the Stream Deck allows you to use animated gifs as button icons, I get to enjoy the gifs on the Stream Deck whenever I want.

5. As a window manager#

I’ve been using Rectangle for several years. It supports a bunch of different window positions, but I’ve only memorized the shortcuts for basic things like full screen, left, and right halves. These are plenty when working on a laptop, but I use a 43" display at home, which benefits from a wider variety of window positions.

I’ve solved this with a dedicated Stream Deck Neo which sits alongside my display. The Neo has 8 buttons, and I use the recent Key Logic to stack functions for a total of 16 options.

I have two keys for Left and Right 1/2, 1/3, and 2/3. These are great for screen sharing–the video call can take 1/3 and my shared window can take 2/3. I have one button for full screen, Center 1/2, and Center 2/3. Center 1/2 is good for very focused content, while 2/3 is most comfortable for everyday use.

Four buttons are dedicated to Top Left, Top Right, Bottom Left, and Bottom Right. These don’t use Key Logic at the moment, so I still have 8 additional options, if I can come up with ideas for them.

The last button moves windows between displays, does the native Mac maximize (mostly for Zoom), and wakes my display using a Wake-on-LAN plugin I wrote.

Other things I’m trying to make stick#

Whiteboard Controls#

I really like visual communication, so I tend to do a lot of work with whiteboarding tools. I’ve setup simple Stream Deck profiles for each tool I’ve used (to date: Miro, Figjam, & Excalidraw). Of these, Miro worked the best, because it places objects with the keyboard shortcut, while Figjam and Excalidraw only select the object type and require a click to place it. Simulating a click on the Mac is annoyingly difficult. My Miro profile also used the dials for moving objects horizontally and vertically. Pressing the dial swapped between course and fine controls.

Virtual Stream Decks#

Last year, Elgato added the ability to create as many Virtual Stream Decks as you choose, as long as you’ve connected a physical Stream Deck in the last 30 days. When I’m in the office, I spend a lot of time in meeting rooms, while my Stream Deck+ is sitting on my desk. I use Virtual Stream Decks to mirror the buttons I rely on for navigation (particularly Jira). Instead of having to remember how to access a dozen different urls, I just need to remember a few shortcuts to bring up the virtual buttons.

Apple Shortcuts#

I’ve used some simple Apple Shortcuts on my phone, but I tend to forget about them on the Mac, because using the shortcut menu doesn’t feel ergonomic. There’s a plugin to map Stream Deck buttons to Shortcuts, which seems like a great solution for arbitrary automations. I’m hopeful this will help me to actually use them.

If you’re a fellow Stream Deck user, I’d love to compare notes or see your setup!