Tooty, a Mastodon web client
Tooty, a Mastodon web client

Tooty is an alternative multi-accounts Web client for Mastodon written in Elm by Nicolas Perriault. I've been using it since the beginning on Mastodon and I love it! You should check it out ;-)

Tooty, is an alternative multi-accounts Web client for Mastodon.

Features:

Core Functionality

  • Mastodon Client: Tooty serves as a dedicated web client for the Mastodon social network.

  • Multi-Account Support: A key feature is its ability to manage multiple accounts simultaneously.

  • Written in Elm: The application is an experimental client written predominantly in the Elm programming language (92.3%). It also uses CSS (6.1%) and HTML (1.6%).

Technical Usage and Deployment

  • Fully Static Web Application: Tooty is a fully static web application designed to run in recent browsers.

  • No Custom Server Required: Users do not need any custom server setup to utilize it. It only needs to be served (e.g., over HTTP).

  • Publicly Hosted Option: A public version of the client is hosted on Github Pages.

  • Self-Hosting: Users can self-host the application by obtaining a build and serving it over HTTP.

  • Licensing: The project is available under the MIT Licence.

Development and Optimization Features (for self-hosters/developers)

The repository provides commands for development and production deployment:

  • Building: The application can be built using $ npm run build.

  • Optimization: The optimization command ($ npm run optimize) compresses and optimizes the generated JavaScript bundle, typically reducing its size by about 75%. This step is intended for deploying Tooty to production.

  • Deployment: A command exists to deploy the app specifically to GitHub Pages ($ npm run deploy).

  • Testing: Developers can launch the test suite using $ npm test.

  • Development Servers: Commands are available to start the development server ($ npm run live), or run it in live debug mode (e.g., $ npm run debug:all to watch for CSS changes).