A tiny Mac app for posting to Bluesky. Stack speech bubbles above the composer, then send them as a thread.

README.md

blusco nano #

A tiny Mac app for posting to Bluesky. Nothing to read. Just the composer.

Originator: Nighthaven (@moja.blue) · part of blusco

日本語

blusco nano. The avatar on the left, the composer in the middle, a glass Klein bottle on the right. Above, six puffy speech bubbles hold lines from Kenji Miyazawa's Spring and Asura.

How it works #

  • Press ⇧⌘B in any app. The composer comes forward. Press it again, or esc, to hide it.
  • The Klein bottle on the right is a character meter. It fills at 300.
  • Click the bottle (or ⌘Return) and what you wrote joins the stack above as a bubble.
  • Click it with an empty field, and the stack goes out as a thread. While there is something to send, the rim of the bottle breathes blue.
  • Click a bubble to edit it. Right-click to delete it.
  • Click your avatar for the tools: delete everything, and close replies (no one can reply).
  • The menu bar icon holds the rest: show in the Dock, open at login, log out, quit.
  • The first URL in a post becomes a link card. URLs, hashtags, cashtags and mentions get facets.

Install #

There is no signed build. The app is ad-hoc signed and not notarized, so macOS will stop it the first time.

  1. Download blusco-nano.zip from the artifacts of the latest tag on the Tags page, unzip it, and move blusco nano.app to Applications.
  2. Open it. When macOS stops it, go to System Settings → Privacy & Security and click Open Anyway.

SHA-256 of blusco-nano.zip (v0.1):

c7bea05da57744650681afbbcf9b9aefd5ae80246c6f927fc322d57d12af8024

Check it with shasum -a 256 blusco-nano.zip.

Or build it yourself (needs Xcode):

./build.sh

Requires macOS 14.2 or later. Liquid Glass needs macOS 26; earlier versions get frosted glass.

Login #

Log in with ATOMO (ATProto OAuth). Your password never reaches the app. The consent screen says "blusco", because nano shares blusco's client.

Files #

  • ~/Library/Application Support/blusco nano/session.json: your login (refresh token and DPoP key), readable only by you
  • ~/Library/Preferences/blue.moja.blusco.nano.plist: settings, the draft, and the stacked bubbles

Nothing else. No analytics.

License #

MIT. No warranty: see LICENSE.