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.

  • Carl Newton@feddit.ukOP
    link
    fedilink
    English
    arrow-up
    5
    ·
    8 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
      ·
      6 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
        ·
        4 hours 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
          ·
          4 hours 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.

          • Unusable 3151 ⁂@lemmy.ml
            link
            fedilink
            English
            arrow-up
            1
            ·
            3 hours ago

            ostensibly, there is no need to send your location anywhere, as everything could be set up to be done client-side where you get a registry of published instance locations and sort them by distance to your current location.