Overview
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).
-
OAuth2
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
-
Login
PeerTube
Video platform
-
Login
Loops
Short video
-
OAuth2
GNU Social
Microblogging
-
OAuth2
GoToSocial
Microblogging
-
OAuth2
Snac / Snac2
Microblogging
-
OAuth2
Takahē
Microblogging
-
OAuth2
Mitra
Social network
-
Login
WordPress
Blog / CMS
-
OAuth2
BizzFed
Professional network
-
OAuth2
vutuv
Professional network
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.
Plugins
from v1.2.4FediSuite 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.
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.