DeckDeckDeck · Native macOS

Bluesky in columns, side by side.

More than one Bluesky account? Then you know the tab dance: open, close, and end up forgetting which profile you just posted from. DeckDeckDeck ends the act. Every account gets its own columns, all in one Mac window, and a single composer posts to as many of them as you tick.

In development · macOS 15 or later

In the columns

Everything a deck should do.

Built to stay open from breakfast to "wait, it's midnight?". These are the parts that earn the spot on your screen.

01

Deck first

The deck isn't a tab in the app. It is the app. Home, activity, search, lists, DMs — each account gets the columns you pick, in the order you drag them. ⌘1 to ⌘9 hops between them without your hands leaving the keyboard.

02

Live, or muted

Posts land the second they're written, straight off Jetstream, saved searches included. Too much firehose? One toggle swaps real-time for a once-a-minute refresh. Your pace, not the timeline's.

03

Write once, post everywhere

Write it, tick the accounts, publish. The composer gates who can reply, autocompletes @mentions, swallows images and video, and keeps drafts that sync with bsky.app. Offline? They wait right where you left them.

04

A real Mac app

SwiftUI, zero third-party dependencies. It has a menu bar because Mac apps have menu bars, obviously. Notifications, Dock badge, Shortcuts, Spotlight, Siri — all the bits web wrappers pretend nobody uses.

05

Full Bluesky citizenship

A real AT Protocol client, not a web view in disguise. DMs, lists, saved posts, follower graphs, video that loads on the first try, and reporting that actually reaches the moderation service — no black hole.

06

Moderation, faithfully

Set your filters once on bsky.app and forget them. They apply here identically: subscribed labelers, your per-labeler overrides, muted threads. If the network says hide, it's hidden.

On screen

Here's how it looks.

Real screenshots of the app running — no mockups, no renders, no promises.

Live Home, Explore, and an open profile — three columns in one window.
Live Home, Explore, and an open profile — three columns in one window.
A saved search pinned as a live column, updating in real time.
A saved search pinned as a live column, updating in real time.
As many columns as you want, side by side.
As many columns as you want, side by side.

Why it matters

Built for people who live in the deck.

  1. 01

    Retire the browser tabs.

    Every account in one window that stays open all day without complaining. No Electron: this is native code, not a website in a costume. It launches in a blink and idles quietly when you look away.

  2. 02

    Triage at keyboard speed.

    J and K walk the column, O opens the thread, R replies, ⌘R refreshes. Your hands never leave the keyboard — and only the accounts you opted in get to interrupt you.

  3. 03

    Honest about what it does.

    When the network offers something the app can't do yet, it tells you so, right where the feature should be. No pretending, no silent gaps. And your sessions live in the macOS Keychain, nowhere else.

Questions, answered

Before you install.

01What do I need to run it?

macOS 15 (Sequoia) or newer. That's the whole list. No Electron, no runtime to download, no "installing 1 of 47 components".

02Which networks does it support?

Bluesky only, for now, with as many accounts as you can handle. Each one gets its own columns in the same deck. Other networks? We won't promise what we haven't shipped.

03How do accounts sign in?

With a Bluesky app password. Tick "Allow access to your direct messages" when you create it if you want chat. Sessions go in the macOS Keychain and nowhere else. Promise.

04Does it respect my Bluesky moderation settings?

To the letter. The app reads the very same preferences bsky.app writes: content filters, subscribed labelers, your per-labeler overrides. Drafts and saved posts sync with the official app too.

05Is it accessible?

It targets WCAG 2.2 AA, and we mean it: VoiceOver labels on every control, Reduce Motion honored everywhere, Dynamic Type, and the whole app driven from the keyboard alone.

06When can I get it?

Active development, not out of the oven yet. Got Xcode 16? You can build it from source today. A public release is on the way — no season-finale cliffhangers, promise.