It's written in NodeJS and while it lacks any form of interaction (ie posts, a functional inbox, and *real* follows, to name a few), it was done from scratch with only NodeJS, Express, and my knowledge on the ActivityPub spec.

Update: I got the Actor endpoint (it's the same as the HTML endpoint but with special headers as defined in the ActivityPub spec).

Except for the detail that Misskey doesn't seem honor the mandated header..? Where is their actor object?!

The spec requires that if the request has an Accept header of 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"' and a Content-Type of the same thing that the Actor must be revealed. Plemora and Mastodon do this, but not Misskey? wat

- Gab's ported profile images and banners do NOT federate properly (as do old uploaded images)! Please change your profile image and banner, even if it's to the same image, or you may appear as the default profile image when viewed off of the default Gab instance.

- If you see something like :this: (note the surrounding colons), you're looking at a custom emoji, a feature Gab may have broke or removed.

- Gab's federation with the non-Gab world is still kinda shaky, so keep that in mind for the coming weeks. I heard it's being worked on though.

- You will soon be able to follow this account, @DailyNPS, from anywhere on the Fediverse, excluding instances that block Gab.

- The entire federated network is called the Fediverse. This includes popular software like Mastodon, less-known software like Misskey, older software like GNU-Social, video sharing platforms like PeerTube, file hosting services like Nextcloud, and even some blogs! Once federation goes online, you won't be alone like you pretty much are at the moment, so be respectful with others (even if your views vary)!

Keep these tips in mind to be federation-friendly, whether it's with another Gab instance or one of the dozens of other federating applications and their instances!