A Django Project that powers Multistre.am, the mutltiple-simultaneous-Twitch-channel viewer.

Directory Listing

total 100K
drwxr-xr-x 6 4.0K Oct 12 2022 ./
drwxr-xr-x 3 4.0K Jun 7 14:51 ../
drwxr-xr-x 2 4.0K Oct 4 2022 bin/
drwxr-xr-x 5 4.0K Oct 4 2022 frontend/
drwxr-xr-x 2 4.0K Oct 4 2022 scripts/
-rw-r--r-- 1 359 Oct 1 2022 env.sample
-rw-r--r-- 1 84 Oct 4 2022 .gitignore
-rw-r--r-- 1 248 Oct 1 2022 LICENSE
-rwxr-xr-x 1 540 Nov 3 2018 manage.py
-rw-r--r-- 1 253 Oct 2 2022 Pipfile
-rw-r--r-- 1 41K Oct 2 2022 Pipfile.lock
-rw-r--r-- 1 2.0K Oct 4 2022 README.md
-rw-r--r-- 1 117 Sep 29 2022 summary.md
-rw-r--r-- 1 2.5K Oct 12 2022 TODO


  • Git clone URL: https://obsolete.computer/static/code/multistream/.git
  • Download Tarball: multistream.tar.bz2



The best way to watch multiple Twitch streams at one time.

Well, maybe not any more, but I still like it. Simplicity is sometimes the greatest asset a project can have.

This is the code (a Django project) that powers Multistre.am. Please if you find any bugs, contact me before you hack into the site.

Setting up your own instance

As of right now Multistream runs on Linux.


You'll need pipenv and nodejs-less along with nodejs-less-plugin-clean-css (annoyingly, hoping to change this soon)... and I think that's it, since Pipenv will handle the installation of Django & some other Python dependencies.

Install Pipenv

(via pip, pacman, apt, etc)
pip install pipenv

Pull down the code

git clone https://obsolete.computer/static/code/multistream/.git
cd multistream

Build the Pipenv environment and grab dependencies

pipenv install

Edit the .env file with info for your environment

The Twitch API client ID and client secret can be obtained through their dev console.
cp env.sample .env && nano .env

Create a Sqlite database

pipenv run ./manage.py migrate

Build the frontend CSS

Right now this is the step that requires nodejs-less and nodejs-less-plugin-clean-css (both in the AUR).
cd frontend/static
lessc --math=strict --clean-css="advanced" multistream.less > multistream.css
cd ../..

Fire up the dev server

pipenv run ./manage.py runserver


Point your browser to http://localhost:8000. You should be greeted by the familiar stream-picker form. If you try to build a multistream layout, you won't initially see the players & chats load... this is for development. To test out the real thing, set USE_LIVE_EMBEDS to True in your .env file.

The admin url by default is http://localhost:8000/ms-admin/. You can create an admin account for your instance with the command pipenv run ./manage.py createsuperuser.

Recent Changes

  • [4386052] 2022-10-12: updated TODO again
  • [0c22816] 2022-10-12: updated TODO
  • [aec52c8] 2022-10-12: remove dependency on CDNs, move to in-browser LESS compilation
  • [113891c] 2022-10-04: note to self, reread the whole paragraph before committing.
  • [3e2bf13] 2022-10-04: new TODO.


This project is in the public domain.

Contributing changes back to this codebase and giving attribution when reusing this code are both wonderful things, but neither are necessary.