An alternative multi-accounts Web client for Mastodon.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
public Fix #196: Fix incompatibilities with the Mastodon API v2.0.0. (#197) Nov 29, 2017
.travis.yml Travis integration (#22) Apr 21, 2017
elm-package.json Fix #115: Add keyboard navigation to media viewer. Jul 13, 2017
package.json Fix travis build. May 25, 2017


An experimental multi-account Mastodon Web client written in Elm.

Tooty is a fully static Web application running in recent browsers, you don't need any custom server setup to use it. Just serve it and you're done, or use the public version hosted on Github Pages.

If you want to self host Tooty, just grab a build and serve it over HTTP.

Setting up the development environment

$ npm i
$ ./node_modules/.bin/elm-package install

Starting the dev server

$ npm start

Starting the dev server in live debug mode

$ npm run debug


$ npm run build


$ npm run optimize

This command compresses and optimizes the generated js bundle. It usually allows reducing its size by ~75%, at the cost of the JavaScript code being barely readable. Use this command for deploying tooty to production.

Deploying to gh-pages

$ npm run deploy

The app should be deployed to https://[your-github-username]

Note: The deploy command uses the optimize one internally.

Launching testsuite

$ npm test