I’ve been working on Habitat for the past two years. It all stemmed from this idea that I posted in April 2024.

Habitat is a free open-source, self hosted social platform for local communities. It is aimed at fostering local community discussions and discovery of areas of interest. This is why it is built primarily around location. A Habitat instance centers on a specific area, and the local community can make generic posts about that area, or they can make posts about specific locations in that area. More about what I’ve been building and the future plans here.

Features

  • Habitat specification of location and size - enabling posts related to the local area
  • Home feed - Displays the most recent posts
  • Nearby feed - Displays posts sorted by proximity to the user
  • Create posts - Upload photos, set locations, comments
  • Categories - Location rules
  • Amazon S3 image storage option
  • Personalisation - Overrides Habitat defaults per user: kms/miles, hidden categories
  • Moderation tools - User, post, comment moderation, block email addresses
  • Announcements - Scheduled announcements
  • Public moderation log - Keep moderator actions visible for 30 days

If you’re interest in this at all, please give it a spin and let me know how you get on. I’ll keep an eye here on Lemmy, but you can also post to the Habitat discussion board on GitHub.

  • Gorgritch_Umie_Killa@aussie.zone
    link
    fedilink
    English
    arrow-up
    5
    ·
    6 hours ago

    How is it federation but not Activitypub specifically? I thought that was the only protocol that currently allows for federation. Are there others? Or other ways?

    • mnemonicmonkeys@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      54 minutes ago

      I thought that was the only protocol that currently allows for federation. Are there others? Or other ways?

      The Matrix and XMPP protocols both support federation, though those are mainly for chat platforms

    • Carl Newton@feddit.ukOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      5 hours ago

      To be clear, there is no functionality that federates Habitat instances yet. This work is still to be done. ActivityPub is a protocol for decentralised networks. Though I will not be using ActivityPub, I will build functionality that will allow for a decentralised network of Habitat instances communicating data to each other. This will be federated by definition, but it will not communicate with Lemmy/Mastodon or anything else that uses ActivityPub.

      • mnemonicmonkeys@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        52 minutes ago

        Though I will not be using ActivityPub

        If you don’t mind my asking, what drove the decision to not base it on ActivityPub. On the surface that seems to be an easier starting point that building evetything out from scratch

      • Gorgritch_Umie_Killa@aussie.zone
        link
        fedilink
        English
        arrow-up
        3
        ·
        5 hours ago

        Oh, I see. Why have you made that choice? I’d understand to keep the subjects towards more community oriented interests, but then, i’m not sure why federation of other community habitats would have any advantages over being separate.

        For example, I imagine East Sussex and Alsace-Lorraine wouldn’t have a great degree of things to share between disparate instances like that.

        Anyway, i’ve not had a chance to look at your instance yet, so maybe i’ll understand it better when I duck over there for a sticky beak. All sounds very exciting though! Well done!

        • Carl Newton@feddit.ukOP
          link
          fedilink
          English
          arrow-up
          5
          ·
          5 hours ago

          Imagine this - you’re signed up to your local instance in – Perth is it? You go for a walk and find a beautiful old building, and want to know more about it. You open up your local Perth instance of Habitat, which you know about because you live in Perth and managed to find that instance, and click the Nearby feed, and the closest discussion to your location is about this very building. This functionality exists in Habitat right now.

          Now imagine that you’re on holiday to Oxford in the UK – I can’t imagine why you’d choose our clouds over your sun, but it might be something to do with the old buildings here. You see an interesting old building, and want to know more about it, and open up your Perth Habitat instance, click the nearby feed. Your Perth instance will identify the closest Habitat instance to your location – it just so happens to have found one called Habitat:Oxford. Your Perth Habitat instance will show you results from the Oxford Habitat instance by proximity. This is why I want to federate instances, so that you don’t even have to worry about which instances have the posts relevant to your location, it’s all handled by the network.

          • Gorgritch_Umie_Killa@aussie.zone
            link
            fedilink
            English
            arrow-up
            1
            ·
            3 hours ago

            Ah! Oh cool, but this would take geolocation. I predict that being a hard sell for lemmings.

            But as I type that i realise/remember your post here is primarily an introduction for potential instance operators, not so much a user base. So the geolocation as an ‘issue’ is likely far less important (not forgetting a user can just turn it off anyway).

            • mnemonicmonkeys@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              1
              ·
              54 minutes ago

              I predict that being a hard sell for lemmings.

              Eh, if it’s an open-source application where you can review the code to confirm that the software isn’t tracking you, then it’s not an issue. Especially if you’re running Graphene OS, Rethink DNS, or Exodus to either sandbox or monitor your traffic

              • WhyJiffie@sh.itjust.works
                link
                fedilink
                English
                arrow-up
                1
                ·
                29 minutes ago

                Eh, if it’s an open-source application where you can review the code to confirm that the software isn’t tracking you, then it’s not an issue.

                you can’t review what’s running on the actual server, what did your local admin add to it.