Reducing friction: Hack learned from Twitch Streamers

How to make more progress on your side projects.

I've noticed that reducing any friction on my side project is a HUGE productivity boost.

Today we’ll see how I reduce friction in opening and starting my developer environment for my side project Deliberate Python.

Reducing the number of steps to get to the actual coding part is critical, especially when tackling small tasks. So I found a simple way to launch my side project with the push of one button.

Now when I want to work on my side project, all I have to do is press one button and my dev environment spins up and my project builds automatically.

If you’re interested in programmer productivity and Python, you should click the Subscribe button below. If you are interested in those topics, you might also like my article on Naive Vs. Deliberate Practice in programming

I learned this trick from Twitch streamers.

Some streamers use a device called a Stream Deck. It's a small hardware device that lets you launch macros with the push of a button.

Streamers use these to display certain graphics, apply sound effects, and more in their streams.

I found that El Gato, the maker of the stream deck, also publishes an app version of the stream deck.

I've started using it in my dev workflow and have found it to be a great productivity boost for me.

Here's a link to the El Gato Stream Deck app for anyone curious.

You can set up different commands, macros, etc, and control your computer through the app.

I have a variety of shortcuts set up.

- The green staircase opens a folder with various commands for starting my project Deliberate Python.

- The owl is a folder with commands for my day job project.

- GH is a shortcut that types my GitHub URL.

- LI is a shortcut that types my LinkedIn URL.

- Stack Overflow, Github, notion, and hacker news are all shortcuts as well. These buttons open a browser and navigate to those URL's

How I used to get started on adding features to my project:

1. Open terminal

2. Navigate to my project

3. code deliberatepython/front-end

4. run npm start in vs code

5. Switch over to another desktop so I can open the backend code in that workspace

6. Go back to terminal

7. code my_backend_project

8. pyenv shell deliberatepython

9. uvicorn sql_app.main:app --reload

Using the Stream Deck App

1. Press the Front-end button on the stream deck app and let it complete all the front-end steps

If I need the backend spun up, then I just:

2. Press the back-end button on the stream deck app and let it complete all the back-end steps.

I've noticed that I'm able to work on small features easier when I only have 10-20 minutes here and there using this system.

It's been such a big productivity boost.

Thanks for reading! Feel free to share or subscribe if this was interesting to you. It helps me out a lot knowing what topics to write about.