Feature overview

What FediSuite can do, arranged along the path of a post: connecting accounts, writing, planning, finding again and evaluating. Notifications, accessibility, security, operation and plugins complete the picture.

This page describes the web app. The Android app is at an older state and will be reworked over the coming weeks and months.

Accounts & platforms

All connected accounts can be reached from one interface. FediSuite detects what each platform and instance can do and sets up the Composer accordingly.

Several accounts

You can connect accounts on different platforms and switch between them. The account management under “Settings, Connected accounts” shows, for each account, details such as platform, import status, followers, following, post count and connection status.

Platform and capability detection

When you connect an account, FediSuite recognizes the platform from the instance address and loads, where the instance provides them, the character limit, media rules and supported visibility levels. These values feed into the Composer. Two instances running the same software can have different limits, and FediSuite works with the actual values of each instance.

Signing in

Accounts are connected via OAuth2 wherever the platform supports it, and your password then stays on the instance. Where no suitable OAuth2 flow exists, signing in with credentials is required; the platform list below marks these as “Login”. If access expires or is revoked, FediSuite shows that the account needs to be reconnected.

Historical import

After you connect an account, FediSuite imports its earlier posts in the background, as far as the platform makes them available. Archive and analytics therefore do not start on the day you sign up. The progress is shown as a status on the account, and after temporary errors the import is tried again later.

Supported platforms

FediSuite supports more than 20 Fediverse platforms. Bluesky is not among them because it is not built on ActivityPub; it is connected through a plugin (see the Plugins section).

  • Mastodon

    Microblogging

    OAuth2
  • Pixelfed

    Photo network

    OAuth2
  • Vernissage

    Photo network

    OAuth2
  • Misskey

    Microblogging

    OAuth2
  • Friendica

    Social network

    OAuth2
  • Pleroma

    Microblogging

    OAuth2
  • Akkoma

    Microblogging

    OAuth2
  • Sharkey

    Misskey fork

    OAuth2
  • Calckey

    Misskey fork

    OAuth2
  • Firefish

    Misskey fork

    OAuth2
  • Iceshrimp

    Misskey fork

    OAuth2
  • PeerTube

    Video platform

    Login
  • Loops

    Short video

    Login
  • GNU Social

    Microblogging

    OAuth2
  • GoToSocial

    Microblogging

    OAuth2
  • Snac / Snac2

    Microblogging

    OAuth2
  • Takahē

    Microblogging

    OAuth2
  • Mitra

    Social network

    OAuth2
  • WordPress

    Blog / CMS

    Login
  • BizzFed

    Professional network

    OAuth2
  • vutuv

    Professional network

    OAuth2

Writing

The Composer is the editor where posts are written. It knows the rules of the selected accounts and checks them while you write.

Composer

Depending on the platform and account, these features are available:

  • Character limit and media rules: Loaded from the instance, shown live and checked when you send.
  • Visibility: Public, unlisted, followers only or direct, depending on what the platform offers.
  • Content warning: A field of its own that is passed on to platforms that support it.
  • Alt text: Below every image and video there is a visible button that opens a dialog for the description. Alt text is part of writing a post, but it is not mandatory.
  • Post language: Optional, and passed on to platforms that support a language per post.
  • Live preview: Shows the post as it will appear and updates while you type.
  • Media: The order can be changed by dragging or with the keyboard, and for images you can set a focal point for thumbnails.

One post for several accounts

The same post can be prepared and published for several accounts in one step. To make it valid everywhere, character limit, number of media, media rules and visibility follow the most restrictive combination of the selected accounts. If publishing fails for one account, it stays selected so you can try again.

Threads from long texts

If a text is longer than the character limit, FediSuite can split it into a thread of replies automatically, at paragraph, sentence or word boundaries. A preview shows all parts before you send, and media stays on the first part. With several accounts this only works if every selected platform supports threads. The parts are published in the right order, scheduled posts included.

Hints while writing

Next to the text, a collapsible card shows up to five hints drawn from the earlier data of the selected account, for example about timing, text length, links and media, each with the numbers and data basis behind it. The Composer also warns when a very similar post was published in the last 60 days and links to it if the address is known. The warning blocks nothing, and the decision stays with you.

Planning & organizing

The Planner holds everything that happens between an idea and publication: calendar, posts, Composer, campaigns and labels.

Scheduled publishing

Posts are scheduled to the minute in your own time zone. Background workers publish them even when the app is not open; the worker checks every minute for what is due. A scheduled post can also be published right away.

Calendar

The calendar shows posts in a month or week view in your time zone and can be filtered by account, platform, label, campaign and status. Clicking a day or a time opens the Composer with that date. You move scheduled posts by dragging them or in the side panel, each time after a confirmation. In the week view of a single account, the calendar marks time windows in which that account has so far done better than average, with text and an icon rather than color alone.

Drafts

A draft is saved without a date, optionally for several accounts at once, and the Planner never publishes it by itself. You give it a stage (Idea, In progress, Ready to plan), the Composer saves changes automatically, and several drafts can be deleted at once. Planning or posting a draft turns it into a regular post.

Post management

The post list separates drafts, scheduled, published and failed posts and can be narrowed by account, platform, label and campaign.

  • Edit and duplicate: Posts open in the Composer for editing, complete with text, media, labels and campaign.
  • Post again: A published post can be sent once more as a new post with its text and media.
  • Understand failures: If publishing fails, the instance’s message is shown on the post and it can be sent again. In a thread, the parts after the failed one are also marked as failed, because a thread cannot skip a link.
  • Delete: Removes the post from FediSuite. A post that is already published stays on the instance.

Campaigns

A campaign bundles posts that belong together, for example for an event or a themed week. It has a name, a description, optionally a period and labels, and the list shows whether it is upcoming, running or ended. In the Composer you assign a post to a campaign and can adopt its labels. Campaigns work as a filter in the post list, calendar and archive.

Labels

Labels are internal markers with a name and optionally a color. They are never published and never turned into hashtags; they exist only for organizing. You create new labels right in the Composer and can filter by them.

Archive & reuse

The archive collects the posts FediSuite has stored for you, imported ones and ones you published yourself. It lets you find old posts again and see how they did.

Search and filter

Full-text search covers the content of posts, for the current account or for all accounts, and optionally including private and direct messages. Filters for label and campaign narrow the results. You can sort by relevance, date, estimated net reach, estimated gross reach or interactions. A post can be expanded to show its content and analytics data.

Use as new draft

One click turns an archive post into a new draft in the Composer. Text, content warning, language and media are carried over as far as the platform still provides them, and media that could not be taken over is reported. The Composer notes the date of the original and links to it.

Interesting again

Older posts that reached clearly more than the median of the account get the badge “Interesting again”. Its explanation lists the numbers and the data basis. In addition, drafts can be marked as evergreen and viewed as a collection of their own. Nothing from this is published automatically.

Analytics

The analytics are based on the data of the selected account, not on general averages. Reach is estimated with a worked-out formula that distinguishes net from gross reach and takes boosters into account. It follows the FediWings reach model by Ralf Stockmann and is not the same as impressions measured by a server. The methodology (opens in a new tab) is public.

Dashboard

Key figures for followers, posts, interactions and estimated reach with their trend, plus the top posts by reach. A top post can be expanded to show favourites, boosts, replies and net and gross reach.

Growth

Followers and following over time, daily changes and weekly development over time ranges you choose.

Interactions

Favourites, boosts and replies shown separately per day, because they mean different things: approval, spreading, conversation.

Engagement

Engagement rate, the split across the three kinds of interaction, patterns by weekday and the ratio of boosts to replies.

Estimated reach

Net and gross reach per post, with the numbers behind them such as followers of boosters and visible boosts. Counters and booster lists are never reduced, because instances delete older boosts.

Hashtags

Usage, engagement in total and on average, boost and reply rate, and combinations that work well together.

Times and formats

Heatmaps for weekday and time of day, an overview of when you actually post, and a comparison of posts with media and text-only posts. Time slots with too few posts are shown in a muted way.

Content

Comparisons with and without media or link, by text length, visibility, language and content warning, plus standout combinations and a table of labels with their trend. A difference only appears when enough posts exist and no single outlier explains it; otherwise the page says “No reliable difference”.

Tips

Concrete hints drawn from your own data, for example on timing, formats, hashtags, post length, links, topics and posting rhythm. Each tip gives comparison values, an interpretation, a recommendation, a next test and a low, medium or high data basis.

How to read the hints

Tips and comparisons show correlations in an account’s earlier data, not proven causes. That posts with a link reached more people on one account does not mean the link caused it. They work as a starting point for tests and are no promise that a post will do better.

Notifications

FediSuite loads the notifications of supported accounts and shows them in a section of their own, so you do not have to open a timeline for them. You choose the account at the top.

  • What is shown: Depending on the platform, favourites, boosts, mentions, new followers and follow requests, replies and other events.
  • React directly: For suitable notifications you can reply, like, mark as read or open the post on the instance.
  • Limits: Not every platform offers notifications, for example PeerTube, Loops and WordPress. FediSuite is meant to reduce switching between instances and is not a full replacement for a client.

Accessibility

FediSuite is designed from the start to be usable with a keyboard and a screen reader. A blind user has tried out the screen reader experience in practice. There is no certificate or formal audit, and some places may still be rough. Reports about them are welcome.

Charts with a text alternative

The charts in the analytics come with a collapsible text summary and a data table, heatmaps included. The information is not only in an image.

Keyboard operation

The dashboard tabs can be moved through with the arrow keys, Home and End. You can sort media and set focal points without a mouse, and dialogs keep the focus and close with Escape.

Skip link

A link to the main content skips the navigation.

Language

The interface language is set in the lang attribute and changes with it. Post languages can be passed on so that text-to-speech software can know them.

Alt text while writing

Every media item has a visible button for the image description in the Composer; it is not hidden behind a switch.

Color and contrast

There is a dark and a light color scheme. The color scale of the heatmaps is chosen to stay readable with red-green color blindness, and hints in the calendar carry text and an icon rather than color alone.

Reduced motion

Animations follow the “reduce motion” setting of the operating system.

Interface languages

German, English, Spanish, French and Italian. French is still looking for native-speaker proofreaders.

Security & privacy

The settings are split into three pages: Account, Connected accounts and Preferences. Security and privacy of the FediSuite account are on the Account page.

  • Two-factor sign-in: You can set up an authenticator app (TOTP). Recovery codes are provided for the case that the app is not available; they are shown only once after they are generated. An e-mail code can also be switched on, which the app itself describes as less secure than an authenticator app and meant as a fallback.
  • Sessions: A list shows the devices you are signed in on, with browser, system and last activity. Individual sessions can be ended.
  • GDPR data export: On request, FediSuite creates a ZIP archive with the information required by Art. 15 GDPR and your data in readable and machine-readable form: profile, connected accounts without OAuth tokens, posts, imported history, follower events and statistics history.
  • Delete account: Deleting removes your FediSuite account together with sign-in data, connections, stored posts and statistics, and requires your password and an explicit confirmation. Your Fediverse accounts and the posts published there stay untouched.
  • No tracking: The FediSuite app runs without trackers and without ads on the official instance app.fedisuite.com and when self-hosted.

Self-hosting & operation

FediSuite can be run on your own infrastructure and is licensed under the GPL-3.0. The steps are in the installation documentation.

  • Docker Compose: The self-hosting repository contains a Compose setup with the app, a PostgreSQL database and two workers. An example for Traefik as a reverse proxy is included.
  • Workers: They publish scheduled posts, refresh published posts and analytics, and generate tips. When an instance rate-limits them, they postpone requests to a later time instead of repeating them.
  • Updates: Updates arrive as new container images.
  • Admin area: User management, plugin management, system information and a global notice that is shown to all users of the instance and maintained in Markdown.
  • Switching features off: Individual areas such as drafts, calendar, labels and campaigns, reuse and the content analytics can be switched off with an environment variable.
  • Instance directory: Operators can list their instance in the official instance directory. If you just want to try FediSuite, pick an instance there.
Join FediSuite

Plugins

from v1.2.4

FediSuite has had a plugin system since v1.2.4. Plugins are installed and activated by the operators of an instance and extend FediSuite, for example with further networks.

  • Managed by operators: Plugins are activated or deactivated in the admin area, and their status is kept in the database.
  • Manifest: Every plugin ships a manifest that is validated when it loads.
  • Building blocks of their own: Plugins can bring account connections, settings, pages of their own and widgets for the dashboard.
  • For developers: The plugin API is documented, and there are helper tools and a guide for writing your own plugins.

Installing plugins Developing plugins

Example: Bluesky

The Bluesky connection (from v1.2.5) is implemented as a plugin. Bluesky is not built on ActivityPub and therefore is not part of the Fediverse. The plugin connects accounts with an app password, imports the earlier history and publishes posts.