Manage all your
Fediverse
accounts in one place.
Built for the Fediverse,
not bolted onto it.
Every feature was designed with the Fediverse in mind β from platform-specific character limits to OAuth2 authentication and automatic instance detection.
Multi-Account Dashboard
Manage all your Fediverse accounts in one interface. Switch instantly, and see posting status, import progress, and metrics across all platforms at a glance.
Smart Composer
Platform-specific character limits, visibility options, content warnings, alt-text fields, and per-post language selection β validated live as you write.
Post Scheduling
Schedule posts to the minute in your timezone. Background workers handle publishing reliably with rate-limit resume handling and atomic post delivery.
Deep Analytics
Follower growth, engagement rates, posting heatmaps, hashtag reach, best times to post, and a tips engine based on your real data β not generic advice.
First-Class Accessibility
Every chart has a screen reader companion with text summaries and full data tables. Keyboard navigation, WAI-ARIA patterns, correct HTML lang, and live regions throughout.
Post Management
Edit, duplicate, repost, or delete scheduled, published, and failed posts. Full queue view with time-based ordering and status tracking.
Automatic Platform Detection
Enter an instance URL and FediSuite detects the platform type, loads character limits and media rules directly from that instance, and configures the composer automatically.
Historical Import
After connecting an account, FediSuite imports your existing post history in the background with clear progress indicators and status badges.
Secure Authentication
OAuth2 where supported. Passwords stay on your instance by default. Any deviation from the standard flow is clearly communicated before you proceed.
Understand your
presence. Improve it.
FediSuite goes beyond simple follower counts. The analytics dashboard gives you a clear picture of how your content actually performs β and tells you specifically what to do about it.
Daily and weekly follower and following counts, with change tracking and trend visualization across selectable time periods.
Favorites, boosts, and replies broken down by day, with engagement rate, weekday patterns, and boost-to-reply ratios.
Average engagement by weekday and hour β a heatmap that shows exactly when your audience is most reactive.
Which tags and tag combinations drive the most reach for your specific audience β not generic hashtag advice.
Reads your actual data and produces concrete, specific suggestions based on your own numbers β not generic best-practice lists.
Accessibility is a
requirement,
not a footnote.
FediSuite treats accessibility as a core engineering requirement. Every chart, every form, every interactive element is built to work correctly with screen readers, braille displays, and keyboard-only navigation.
Screen reader users get the same information as everyone else β not a degraded experience. The analytics dashboard that sighted users see as colorful charts is fully accessible through companion text summaries and structured data tables, exposed via disclosure controls with explicit ARIA wiring.
Every analytics chart has a companion text summary and a full data table. Heatmaps and distribution charts expose structured textual equivalents.
Arrow keys, Home, and End navigate dashboard tabs following the WAI-ARIA manual activation pattern. Roving tabindex on all tab lists.
The HTML lang attribute reflects the active UI language from the start and updates live when the user changes language β so screen readers announce content in the right language.
Dialogs, live regions, radio groups, skip links, and labeled form controls β built correctly from the start, not patched on afterward.
Every post can carry a BCP 47 language tag. Validated, stored, and transmitted to supported platforms so readers and assistive technology know which language a post is in.
Alt text is a first-class field in the composer β per media item, with preview β not an afterthought hidden behind a toggle.
Built for the
diversity of
the Fediverse.
FediSuite detects platform types automatically, loads character limits and media rules directly from each instance, and connects accounts via OAuth2 β or the most appropriate alternative where OAuth2 isn't available.
Platform type, character limits, and media rules loaded directly from the instance β no manual configuration.
OAuth2 where available. Alternative logins only where technically required, and clearly communicated.
Accounts display import progress, platform badges, metrics, and clear status values.
Mastodon
Microblogging
OAuth2Pixelfed
Photo network
OAuth2Misskey
Microblogging
OAuth2Friendica
Social network
OAuth2Pleroma
Microblogging
OAuth2Akkoma
Microblogging
OAuth2Sharkey
Misskey fork
OAuth2Calckey
Misskey fork
OAuth2Firefish
Misskey fork
OAuth2Iceshrimp
Misskey fork
OAuth2PeerTube
Video platform
LoginLoops
Short video
LoginGNU Social
Microblogging
OAuth2
Full control.
Your server.
Your data.
Run FediSuite on your own server with Docker Compose. No compilation required β pull the official image, fill in your environment variables, and start the stack.
christinloehner/fedisuite β pull and run, no local build required.
PostgreSQL, the app (frontend + API), and two background workers for scheduling and refresh jobs.
Example labels and a reference Traefik compose file included in the self-hosting repository.
Set ENABLE_USER_REGISTRATION=false to run a private instance.
SMTP is required β FediSuite sends emails for registration, password reset, and import notifications.
GNU GPL-3.0.
Fully open.
The entire application stack is open β frontend, backend, Docker setup, and documentation. View the source, fork it, self-host it, and contribute. All under the GNU General Public License v3.
Bug reports
are welcome.
If you find a bug β especially in the self-hosting setup β please report it. The project is actively developed and real-world bug reports are one of the most valuable contributions right now. The CONTRIBUTING.md explains the process.
Native Android client.
Not a WebView wrapper.
FediSuite has a native Android app built with Expo and React Native β a real mobile-first client with a touch-optimized UI, compact analytics, and access to your full FediSuite workflow on the go.
The app connects to any FediSuite instance. Use the official hosted instance at app.fedisuite.com or point it at your own self-hosted server. No backend is hardcoded.
Android App on GitHub →Bottom tab navigation, large touch targets, card-based screens, and dark-mode-first visual design.
Account analytics and insights β compact, readable, and always up to date.
Write posts, attach media, add alt text, and schedule β all from the mobile composer.
Works with the official hosted instance and any self-hosted FediSuite server.
Actively developed.
Frequently released.
FediSuite ships updates regularly. This section shows the latest six releases directly from the upstream changelog.
- β» Fixed dashboard top posts so imported Fediverse entries without visible text and without media are now purged from `post_stats` and no longer shown in `Top-BeitrΓ€ge`. This prevents deleted remote posts from remaining behind as empty high-engagement cards while still preserving valid media-only posts.
- + Added `PROJECT.md`, a comprehensive user-focused project overview intended to give another AI a complete high-level understanding of FediSuite from the product and user perspective without needing to read the rest of the repository docs first.
- β» Refined the dashboard optimize heatmaps to use a continuous thermal spectrum with much finer color transitions from deep blue to bright red, so small value changes no longer jump too abruptly between cold and hot tones.
- β» Changed the dashboard optimize heatmaps for best posting times and posting activity from single-hue intensity shading to a true thermal color scale that transitions from blue through green and yellow to bright red.
- β» Fixed Pixelfed account connection on instances such as `gram.social` when long OAuth bearer tokens caused Node's HTTP/1.1 `verify_credentials` request to fail with `400 Request Header Or Cookie Too Large` and the old query-token fallback then failed with `414 Request-URI Too Large`. FediSuite now retries Pixelfed `GET` OAuth requests over HTTP/2 before falling back to query tokens.
- β» Fixed the Fediverse OAuth callback state for Mastodon-compatible instances so the detected instance type, including `pixelfed`, is preserved through the authorization roundtrip. This ensures Pixelfed-specific callback handling such as the HTTP/2 `verify_credentials` retry is actually applied after redirect return.
- β» Fixed Pixelfed OAuth read requests to use HTTP/2 immediately for authenticated `GET` endpoints instead of first failing over HTTP/1.1 and then retrying. This removes the repeated `Header too large` retry noise for `verify_credentials`, statuses, notifications and status lookups on instances such as `gram.social`, while still preserving token refresh handling for Pixelfed's non-standard error responses.
- β» Fixed best posting time and best weekday recommendations being skewed by a single viral post. Engagement aggregation for hourly and weekday slots now uses the median (`PERCENTILE_CONT(0.5)`) instead of the arithmetic mean, so outlier posts no longer distort the results.
- + Added keyboard navigation to the dashboard tab list so screen reader and keyboard users can move between tabs using the arrow keys, Home, and End, following the WAI-ARIA manual activation tab pattern.
- + Added localized `tablistLabel` and `openPostLink` keys to the `dashboard.accessibility` section in all three language files (English, German, Italian).
- β» Fixed the HTML `lang` attribute so it reflects the active UI language from the moment the application initializes and updates correctly whenever the user changes the language in settings. Previously the attribute was hardcoded as `en` in the HTML document and never changed at runtime, causing screen readers to announce content in the wrong language.
- β» Fixed the dashboard tab list so inactive tabs have `tabIndex={-1}` and only the active tab is reachable via the Tab key, matching the roving tabindex pattern required by the ARIA tablist specification.
- β» Fixed the tab panel element so it carries `tabIndex={0}` and can receive focus after a tab is activated.
- β» Fixed hardcoded English `aria-label` on the dashboard tab list container so it now uses the translated string via `t('dashboard.accessibility.tablistLabel')`.
- β» Fixed hardcoded English `aria-label` on external post links in the top posts widget so it now uses the translated string via `t('dashboard.accessibility.openPostLink')`.
- + Added comprehensive API endpoints for the mobile Android App
Who is FediSuite for?
Whether you're a solo creator or an organization, FediSuite adapts to your workflow.
Individuals & Creators
If you manage multiple Fediverse accounts and spend more time switching tabs than creating, FediSuite brings scheduling, analytics, and a platform-aware composer into one place.
Projects & Communities
Open source projects, community initiatives, and activist groups with regular publishing needs. Plan your calendar and track which messages resonate with your audience.
Organizations
Teams taking the Fediverse seriously as a channel. FediSuite offers structured workflows, analytics, and the option to run a private instance on your own infrastructure.
From zero to productive
in four steps.
Start on the hosted instance or spin up your own Docker stack. Either way, you're up and running in minutes.
Open or self-host
Go to app.fedisuite.com and sign up for free β or spin up the Docker Compose stack from the self-hosting repository on your own server.
Connect accounts
Enter your instance URL. FediSuite detects the platform, loads limits and rules, and connects your account via OAuth2 or the appropriate alternative.
Schedule content
Write posts with the smart composer, attach media, add alt text, pick visibility, and schedule for the exact time you want them published.
Analyze & optimize
Check your analytics, find your top posts, identify your best posting windows, and let the tips engine tell you what to do differently.
Your Fediverse,
organized.
Use the hosted instance for free, or run your own. FediSuite is open source and always will be.