A minimalist, local-first client that puts Bluesky and Mastodon in one browser tab. Read, reply, boost and cross-post without switching apps.

What it does

One timeline
Posts from Bluesky and Mastodon interleaved in chronological order, in a single column or in a multi-column deck.
Explore
The trending feeds of both networks side by side.
Notifications
Mentions, replies, likes, boosts and quotes in one place.
Write once
Publish to Bluesky, to Mastodon or to both, with a live character count for each network.
Rich posts
Quote posts, media galleries, link previews, a video player (HLS and MP4), polls, content warnings and threads shown inline.
Theme and language
Dark and light follow your system. The interface comes in English and Portuguese.
MastoSky showing a Bluesky and Mastodon timeline in one window

Your computer, your keys.

MastoSky is a Python script and a single HTML file. The server listens on 127.0.0.1 only, so your Bluesky App Password and Mastodon token never leave your machine.

Requests go straight from your computer to Bluesky and to your own Mastodon instance. No middleman, no analytics, no telemetry.

  • Python 3 standard library
  • No pip, no npm
  • MIT licence

Run it

  1. Clone the repository and start the server.

    git clone https://github.com/gjmcosta/MastoSky.git
    cd MastoSky
    python3 app.py
  2. Open it in your browser.

    http://127.0.0.1:8000
  3. In the setup window, enter a Bluesky App Password and a Mastodon access token. Use an App Password, never your main one.

Early days.

It works, but it is young. Bug reports, ideas and pull requests are very welcome. Open an issue