NOW LET US – AI RAG SaaS Studio TP.HCM
NOW LET US
Digital Product Studio
Back to news
DEV-TOOLS...1 min read

Show HN: We built a terminal-only Bluesky / AT Proto client written in Fortran

Share
NOW LET US Article – Show HN: We built a terminal-only Bluesky / AT Proto client written in Fortran

A unique open-source project has emerged, allowing users to access the Bluesky social network directly from the terminal using Fortran, combined with the processing power of Rust and C.

Yes, that Fortran.

A terminal-only Bluesky / AT Protocol client written in Fortran, with a Rust native firehose decoder for the relay-raw stream path.

Fortran TUI (src/)
└─ C libcurl bridge (cshim/)
└─ Fortran iso_c_binding module (src/atproto/firehose_bridge.f90)
└─ Rust staticlib (bridge/firehose-bridge/)
envelope → CAR → DAG-CBOR → NormalizedEvent → JSONL
+ firehose_bridge_cli binary (used by relay_raw_tail.py)

Session state is saved in ~/.fortransky/session.json. Use an app password, not your main Bluesky password.

sudo apt install -y gfortran cmake pkg-config libcurl4-openssl-dev

Requires rustc >= 1.70. Install via rustup if not present.

The relay_raw_tail.py helper is launched as a subprocess by the TUI. It must be able to import cbor2 and websockets using whichever python3 is on PATH at the time Fortransky runs.

Build & Run: ./scripts/build.sh builds the Rust bridge first, then runs CMake. Run with ./build/fortransky.

Key Commands:

  • l: login + fetch timeline
  • x: logout
  • a <handle>: author feed
  • s <query>: search posts
  • c: compose post
  • j: stream tail
  • m: toggle stream mode (jetstream / relay-raw)
  • q: quit

Navigation:

  • j / k: move selection
  • n / p: next / previous page
  • r: reply
  • l: like
  • R: repost

Technical Notes:

  • jetstream: connects to Bluesky's Jetstream WebSocket service. Lower bandwidth, JSON native.
  • relay-raw: connects to the raw AT Protocol relay. Uses native Rust decoder for binary CBOR frames.
  • JSON parser is hand-rolled and lightweight.
  • Stream view shows raw DIDs; handle resolution is not yet implemented.

Changelog Highlights:

  • v1.1: Native Rust firehose decoder integrated.
  • v1.0: Like, repost, quote-post actions.
  • v0.7: C libcurl bridge replacing shell curl.
© 2026 Now Let Us. All rights reserved.

Source: Hacker News

Advertisement
Ad slot ready: 5887729102

More in this category

EXPLORE TOPICS

Discover All Categories

Deep dive into the specific technology sectors that matter most to you.