Introducing Supersky: post to Bluesky from anywhere in your browser

@anku.bsky.social

The other day I teased on Bluesky that I was building something again, and that it lives in a browser extension. This is it. Supersky is a Chrome extension that puts a full Bluesky composer in your toolbar, so you can post, share pages, and keep up with your notifications without opening a single tab. It's free on the Chrome Web Store, and the whole thing is open source on GitHub.

Why I built it

If you know me from Porto, the tool that moves your tweet archive to Bluesky in a few clicks, Supersky is the natural sequel. Porto answers the question of how you bring your old life over. But once you're settled in, a quieter problem shows up: you still post in two places, and everything interesting you write has to be typed twice.

There was a second itch too. Posting to Bluesky always felt heavier than it needed to be. Open a tab, load the whole app, see the feed, get distracted, forget what you wanted to say. The composer is maybe 5 percent of a social app, but for me it's 95 percent of what I actually use. So I built just that part, and put it where I already am.

A real composer, not a toy

Click the toolbar icon and the composer opens right over whatever you're doing. It's small but it's complete: up to ten images with alt text, video with a live upload progress bar, GIFs, link previews, mention autocomplete, an emoji picker, language tags, and a character counter that treats an emoji as one character just like the official app. You can write threads of up to twelve posts, or paste something way too long and let Supersky split it into a thread for you. Before posting you can decide who gets to reply and whether quotes are allowed.

The Supersky composer, with the account picker open

My favorite quality of life detail is invisible. Chrome kills extension popups the moment you click anywhere else, which is brutal for a composer. So Supersky autosaves everything as you type and silently restores it when you come back. There's a proper drafts shelf too, and since building this I haven't lost a single half written post.

Post on X or Threads, and Bluesky gets it too

Here's the feature I'm happiest with. When you publish a post on X or on Threads, a small card slides in at the corner asking one question: post this on Bluesky too? One click, and your text, images, even video go out to Bluesky exactly as you wrote them. No retyping, no tab switching, no doing everything twice.

The cross post card appears right after your post goes out

I want to be precise about how this works, because an extension sitting near your tweets deserves scrutiny. Supersky doesn't intercept network traffic and doesn't read pages in the background. A small script listens for you pressing the Post button, reads the text and attachments straight out of the compose box in that moment, then watches the composer close before offering anything, which is how it knows your post actually went out and wasn't cancelled. It only triggers on your own main posts, never on replies or quotes. Dismiss the card and the capture is thrown away. And if you never want the suggestion, one toggle turns it off completely.

One draft, every account

Supersky holds up to three accounts. The avatar in the composer is secretly a target picker: select two accounts and the same draft publishes to both, one after the other. I use it constantly to post from my main and my dev account at once.

Both accounts signed in at once

Notifications without the tab habit

The toolbar badge shows your unread count and stays roughly fifteen seconds behind reality. Notifications open in an inbox right inside the popup, grouped the same way the official app groups them, so someone liking ten of your posts is one row, not ten. Desktop banners are optional, and reply banners carry a Reply button, so you can answer someone without opening anything at all.

The newest thing, shipped in 0.2.1, is the focused post window. Click a notification and the post opens in a small live window: you can like, repost, quote, and reply right there, on the post or on any reply at any depth. Click any comment to zoom into its own corner of the conversation, then walk back up with Escape or your mouse's back button. It sounds like a small thing. It completely ended my dozen bsky.app tabs a day habit.

The focused post window in dark mode

Make it yours

Light, dark, and slate themes, plus nine accent colors that tint everything from the buttons to the unread badge. Every screenshot in this post is my own setup, amber on a dark slate, which is also where the cover image gets its colors.

Themes and nine accent colors

On privacy

Supersky has no servers, no analytics, and no tracking. You sign in with an app password, never your main password, and your session lives in your browser's local storage and talks only to your own PDS. It works with any PDS by the way, not just bsky.social. Nothing about you ever reaches me, and I like it that way. You don't have to take my word for any of this either, the code is MIT licensed and public.

The nerdy bits

A few details for the atproto people, because this is where most of the fun was.

Threads publish as one atomic applyWrites commit, so a thread can never land half posted. For that to work, every post needs its parent's CID before anything touches the network, which means Supersky computes CIDs client side exactly the way the PDS does, DAG-CBOR encoding, SHA-256, CIDv1. Record keys are minted locally too, because a post and its threadgate have to share one rkey inside the same commit.

The focused post window is built against a tiny API interface with two implementations: the real one backed by the extension's service worker, and an in-memory mock that serves fixture threads with artificial latency. Both drive the exact same component tree, so I can iterate on the thread UI without waiting for someone to actually reply to me.

The stack is WXT, React 19, and Tailwind v4. Releases go from a git tag straight to the Chrome Web Store through its API, with the tag as the single source of truth for the version.

Try it

Install Supersky from the Chrome Web Store. Signing in takes about ten seconds, and you'll feel the difference the first time you post without leaving your tab.

This is 0.2.1 and the list of things I still want to build is long. OAuth sign-in and Firefox support are near the top. If something feels broken or missing, tell me on Bluesky, I'm @anku.bsky.social. And if you like it, a star on GitHub genuinely helps a small project get found.

See you in the sky ✨

anku.bsky.social
Ankit Bhandari

@anku.bsky.social

soft dev • into science & astronomy

📍Nepal
ankit404.com.np

Post reaction in Bluesky

*To be shown as a reaction, include article link in the post or add link card

Reactions from everyone (0)