Somewhat-interactive Lecture Streaming Software
What Is It?
creek is a tool for managing interactive streams for large lectures, with
support for viewers to engage with the presenter via text chat and emoji
"reactions." It was originally written for MIT's 6.009 (Fundamentals of
Programming) during the spring 2020 semester, in response to a move to remote
instruction during the COVID-19 pandemic, and it has since been used in a few
other classes at MIT as well.
Is It Any Good?
Can I Use It?
Of course! creek is Free/Libre Software, available under the terms of the GNU General
Public License version 3+ . The Documentation page
has more information about installing and using creek.
Do I Want To Use It?
That's a more complicated question. Depending on your use case, using creek
may or may not be a good idea. For one thing, please note that, while it has
been used successfully in multiple classes, creek is still offered with no
warranty whatsoever. I'll try to provide support if you're having trouble, but
I can't guarantee anything.
The following brief list of features might help you decide if creek is right
for you. creek allows you to:
- display video streams via RTMP, HLS, and/or WebRTC.
- display a low-bandwidth alternative "stream" via an audio-only stream coupled with JPEG images captured on demand if necessary, to support students in low-bandwidth situations
- pose multiple-choice questions to a class and see responses in real time
- receive and respond to free-text questions from students
- read the room using emoji reactions
All interactions are anonymous, and no logs are kept about student interactions
(though a variant that integrates with
catsoop is available if tracking user participation
If you want to get in touch, report a bug, offer a suggestion, send a patch,
etc, feel free to send me an e-mail at
Thanks to Joel Emer for
suggestions and contributions, including a tool to make asking questions easier (mirror for non-mit-persons).
creek is written in node.js, using socket.io.
RTMP and HLS streaming are enabled by NGINX-RTMP and FFMPEG.
WebRTC streaming is enabled by Janus and FFMPEG.
The emojis used in the reaction section are from EmojiTwo and are licensed under CC-BY 4.0.
creek's logo is licensed under CC-BY 4.0.
It was created using modified versions of images by Marc Serre
and Daniela Baptista; their original images are licensed under