Skip to content

raikasdev/tusked

tusked pre-alpha

A modern and customizable Mastodon web client.

Tusked is an alternative web client (+ PWA) for Mastodon being built using Astro by the creator of Mastopoet.

Warning

Tusked is missing most of the features planned currently, and will probably have a lot of bugs.
Usage is not recommended, unless you are ready to withstand bugs, and report them to the developers.

Official deployment (not available yet):

  • 🏭 Production: tusked.app
    • Branch: production
    • Hopefully more stable than nightly
  • 🌛 Nightly: nightly.tusked.app
    • Branch: main
    • New features instantly available
    • New bugs also instantly available

About the name Tusked is very similar to Tuskly, which I don't like because it might confuse users. But I couldn't come up with a better project name as of yet. If you have cool name suggestions, toot them at me, @[email protected]!

Features (💡 = planned)

  • Feed-wide post editor
  • 💡 Rich post editor (highlighting links, mentions and hashtags)
    • 💡 Support for formatting (only visible to other users of Tusked, via CSS classes)
  • 💡 Popover with user profile when hovering username (allowing to follow without having to click to profile)
  • 💡 Easy and simple interactions between Mastodon instances
  • 💡 Syncing read notifications between multiple tabs
  • 💡 Support for quoting posts (link to other post being last thing in a post)
  • 💡 Grouped notifications
  • 💡 Persist drafts between sessions
  • 💡 Automatic Mastodon link detection and opening in app (even with PWA if possible?)
  • 💡 DeepL translate posts (option to automatically?)
    • 💡 Automatic post language detection (at least suggest, "is this post in ?")
  • 💡 Multiple account support
    • 💡 Notifications bubble thing on switcher

Ideas

Here's some stuff I have thought of, but not sure if I should implement them.

  • Allowing to view instances local feeds
  • Thread numbering (from Phanpy)
  • Boost icon to rocket (at least on default theme, from Phanpy)
  • Implement themes:
    • High contrast
    • High accessibility (larger text)
    • TangerineUI port
    • Catpuccin?
  • E2EE encrypted private messaging 🤷

Why build you own client?

  • Mastodon client is missing some QoL features I'd prefer to have, that can't be solved with CSS
  • I didn't want to learn Ruby and tweak around Mastodon's code to make changes (or maintain my own instance, or make code that might break the next update).
  • Elk is made with TailwindCSS, making it hard to customize the look of it (outside of the provided color options).
    • I'm not familiar with Vue, and there's ~25 directories in the root! Seemed too complicated to bother learning how to use Vue and contribute
  • Phanpy is going bit in the wrong direction for my use case and liking, but that's 100% fine! That's the point of being opinionated.
    • Uses JavaScript and not TypeScript :/
  • Add support for new messages and notifications from Streaming API (my instance doens't allow it)

Mastodon Bird UI is already great, but having to interact outside of your instance is still hard. I want a smooth experience, and allow people to customize the client to their needs, without having to host an instance themselves, or use extensions (I still haven't figured out how to properly use Stylus).

Theme

The default UI is heavily inspired by Mastodon Bird UI by Roni Laukkarinen. We decided to use SCSS, and not an UI framework to allow for theme support to be implemented easily in the future, and for cleaner code. This also one of the reasons I decided not to go with with Elk.

Tusked isn't for me, where should I look next?

Sad to see Tusked isn't for you, at least at it's current stage.

Tech stack

Privacy policy

Tusked doesn't collect any personal data. Read more about service providers (anonymous analytics, error logging, hosting) in PRIVACY.md.

Credits

  • Tusked includes code from Phanpy licensed under MIT, consult LICENSE-PHANPY
  • Elk for inspiration and html parser functions, licensed under MIT, consult LICENSE-ELK

About

Tusked is an (upcoming) modern and customizable Mastodon client for the web

Topics

Resources

License

AGPL-3.0 and 2 other licenses found

Licenses found

AGPL-3.0
LICENSE
MIT
LICENSE-ELK
MIT
LICENSE-PHANPY

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages