← Hackathons

HACKOct 2024

Terminally Addicted — video, audio, and everything else in a terminal

At HackOHI/O, Raihan Rafeek, Kaaustaaub Shankar and I wanted to make a joke. Then we decided the joke should be unnecessarily difficult to build.

Terminally Addicted put Spotify, GitHub issues, Todoist, GPT chat, Vim and YouTube inside one curses-based terminal. The YouTube player drew the video as ASCII and terminal colour while the audio played normally. I'm not going to argue this is the best way to watch YouTube, because it's worse.

My part of the project was mostly the architecture. I wanted to keep bolting unrelated pieces onto the same system without each new piece breaking the old ones or slowing the whole thing down. Spotify is one kind of state, GitHub issues are another, and a chatbot has its own interaction pattern. Then video shows up, and now you have screen ownership, input ownership, a renderer, audio, timing, cleanup and background work all fighting inside one terminal.

We won Most Original.

Full text & source links