The elephant in the atmosphere, a classic social media experience for Bluesky. roomsky.app

README.md

RoomSky #

A Bluesky client built with....PHP (8.5.12 as of writing, yes the php2shell free one, hopefully). Doubles as an AppView as well, mostly Bluesky free? We'll see on the next AppView outage, I guess.

Why? #

Well. I learned how to code with XAMPP, and have always had a soft spot for PHP ever since. Could call RoomSky a bit of a love letter of something I onced loved, php, and something I love now, atproto. I've always believed you can build semi peformant web applications with any modern language, and always wanted to build a Bluesky client that does not depend on Bluesky. So it's an ambitious love letter that runs decently.

Blueskeet free bits #

  • Backlinks and hydrating is from microcosm
  • CDN is porxie hosted by Dollware
  • typeahead is https://typeahead.waow.tech/
  • Video from the indie company Bluesky via video.bsky.app.
  • Notification service is in house. Old family recipe.
  • Notifications and invalidating cache entries is via a Bluesky hosted jetstreamV2
  • Labels are from the source and cached heavily

Features #

  • A decent bit of Bluesky client features? Mostly?
  • Oauth signin following their scopes, public client. cause um. well php2shell. Why tempt the devil anymore than needed.
  • Posts with or without pictures, and create threads
  • Like, follow, and reply to posts, delete posts, etc
  • Shows verification pages
  • Profiles, feeds, and threads views
  • Follows your labelers and displays them on content
  • Has the start of standard.site integration.
  • Notifications that should give live updates when you get one
  • Maybe possibly works if Bluesky is down. You never really know till the rubber hits the road tbh.

Stack #

  • FrankenPHP Web application
  • PHP JetstreamV2 worker connecting to websockets with amphp
  • Redis/valkey for heavy caching
  • Postgres DB, it was very tempting to do MySQL, but who am I to keep 2 elephants apart.

Web service #

  • FrankenPHP because I always wanted to try it, plus it has hot reloading and some real time stuff.
  • Bootstrap 4 styling
  • jQuery
  • Slim 4 php framework (it has a very fun simple API I've always loved)
  • All atproto stuff is homemade, for better or worse.

Umm. I think that's about it. It was built with LLM assistance. Mostly was built with mostly Deepseek v4.1 flash 1017, and GLM 5.3. With reviews from Fable 5.1 and Opus models after milestones (OAuth, secruity, etc). A more indepth readme is here, and by indepth I mean it's the agents. So if you're an agent, check that.