JavaScript Python HTML CSS Makefile
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
dwitter Change 'infinite loop' timeout text (#360) Jul 16, 2018
.eslintrc.yml only apply linting that doesn't involve moving code around Mar 19, 2017
.flake8 Add flake8 file and extend line length to 100 characters Feb 5, 2018
.gitignore Add .coverage to .gitignore Jun 25, 2018
.travis.yml Simplify: Python 2.7 and 3.6 in allow_failures mode Jan 3, 2018
LICENSE Add Apache 2.0 license file Feb 23, 2017
Makefile Add serve target to Makefile Dec 27, 2017 Break down install steps so they won't be skipped in excitement Apr 9, 2018 Changes to facilitate S3 backup Aug 18, 2016
newrelic.ini Add new relic config to Dec 31, 2017
package.json Update package.json Feb 27, 2018


A platform to write visual art in javascript limited to 140 characters.

Available on

Join the chat on Discord


Inspired by

Pre-requisites and first-time installation

  • Install npm
  • sudo apt install npm
  • Get packages needed for server and clone the repository
  • sudo apt install git virtualenv python-pip
  • git clone


  • make setup (set up virtual environment)
  • source venv/bin/activate (activate virtual environment)
  • make (install dependencies and set up database)
  • python createsuperuser (create admin account used below)
  • make run runs the server. Use make serve instead if you're working inside a VM with port forwarding. (
  • Go to http://localhost:8000/admin/sites/ and log in with admin account created above.
  • Click on the one entry, and change both domain name and display name to localhost:8000.
  • Make sure http://dweet.localhost:8000/ returns a django error. May not work in Firefox.

Other commands

  • make migrations
  • make migrate
  • make lint
    • lints Python and JS files
    • automatically fixes some JS issues (mostly whitespace-related)
  • make shell
  • make backup
  • make restore-backup

Dwitter API


GET  - list of the last 10 dweets
       ?limit=100            - number of results to return, default 10, max 100 (subject to change)
       &offset=200           - offset page by 200 dweets
       &remix_of=123         - all remixes of 123
       &author=lionleaf      - dweets by author

GET  - get details about d/123

Latest dweet: (sorted by posted date by default)


GET  - Show details about user 'lionleaf'.