March 17, 2026

Camel memes meet the social web

Perlsky Is a Perl 5 Implementation of an at Protocol Personal Data Server

From prank to power move: a Perl-built social server has devs buzzing

TLDR: Perlsky is a Perl-built server for Bluesky’s open social protocol that began as a joke but now mirrors the official setup with real tests. Early reactions swing between delighted tinkering and wary side‑eye, sparking a playful debate over whether reviving Perl for serious social servers is brilliant or bonkers

A new project called Perlsky just dropped: a home‑grown server for the AT Protocol—the tech behind Bluesky—written in Perl. The readme literally says it “started as a joke”, which one early commenter gleefully echoed, and now the crowd is torn between giggling and spinning up test machines. The vibe? Equal parts curiosity and chaos, with nostalgic Perl fans dusting off their camels and skeptics side‑eyeing the “use at your own risk” warning.

Under the hood, this isn’t a gag: it handles accounts, logins (think modern, secure sign‑ins), posts, media, moderation, and even a metrics page for nerds. It’s tested against the official server and can run real Bluesky sessions. But the drama writes itself: some cheer that a DIY server in a classic language proves the open social web is thriving; others wonder if trusting your social life to a 90s icon is bold… or bonkers. Meme patrol is already calling it “Perl necromancy,” while tinkerers are racing to curl the health check. The loudest thread so far? That cheeky origin story—from joke to real server—which the community has basically made into a tagline. Serious software, silly grin: classic internet energy

Key Points

  • Perlsky is a Perl 5 implementation of an AT Protocol Personal Data Server aiming for parity with the official @atproto/pds.
  • It supports comprehensive account/auth features, including did:web and did:plc, and provides a built-in OAuth provider with PAR, PKCE, private_key_jwt, and DPoP.
  • Repo and sync features include native implementations of CAR, DAG-CBOR, CID, MST, full com.atproto.sync.* coverage, and blob lifecycle management.
  • AppView proxying forwards unknown app.bsky.* and chat.bsky.* requests to public Bluesky services using per-account service-auth JWTs; moderation and labeling are enforced.
  • Testing includes a local suite, differential validation against the official PDS using Node 20 via fnm, and end-to-end browser smoke tests using the atproto-smoke project.

Hottest takes

"Cool, I'm going to play with this" — slu
"started as a joke and then got out of hand" — slu
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.