No Description

gwillz cb91a2e584 faster polling rate 3 years ago
app cb91a2e584 faster polling rate 3 years ago
.gitignore 13207206ef drop gunicorn 3 years ago 7a763a1295 added live url to readme 3 years ago
nginx_paired.conf a11eab830f fix request.url behind proxy 3 years ago
paired.service 13207206ef drop gunicorn 3 years ago
requirements.txt 5fa915cf92 updated dependencies 3 years ago

Watch Me Code!

Live code sharing!

Scrapped together with Flask,, and Bulma styles.

Don't expect things to be considered properly, it fundamentally works and that's all it needs to do.

A live version can be seen at

But please don't DDoS me. There's no diffing for the code/data, so I can imagine traffic being quite ugly if it picked up.

Known bugs/todos

  • a new watcher will see nothing until the host writes new code
    • will require a server-side store of code/text
    • or a 'request' packet whenever a watcher joins to trigger the host to send
    • #ugh
  • text highlighting
    • will likely require ace or codemirror. yay.
    • dynamic loading of language styles or just everything at once?
    • #bloat
  • cannot resume/restore code if session is closed
    • potentially solved if storing code server-side
    • #featurecreep
  • only send diffs of code
    • would also require server-side code or a 'request' packet
    • #prematureoptimization


sudo apt-get install git python3 python3-pip

sudo mkdir -p /srv/paired
cd /srv/paired
sudo chown www-data: .

git clone .

sudo -u www-data -H pip3 install -r requirements.txt --user

sudo cp paired.service /etc/systemd/system
sudo ln -s nginx_paired.conf /etc/nginx/sites-enabled/paired

sudo systemctl daemon-reload
sudo systemctl start paired
sudo systemctl enable paired
sudo systemctl reload nginx