Show HN: Gurlic – Free and Open Communities

  • Hey! I made an account — this seems like an awesome idea, and I really like your vision. It seems like this format will really appeal to hacker-types with the idea for eventual federated + custom domain communities that can interact with each other. It’s similar to my own idea of an ideal social media network.

    Some of the structure seems a bit confusing though as I look around. How can I create a new community or a custom domain? I don’t see the option anywhere. I also can’t find a way to post to any communities besides my own username.

    If it weren’t for your comment in this post explaining everything, I’d be really lost. I’d recommend a page with a series of graphics that shows the basic idea of how everything works together. I also noticed that most of the static links on a subdomain page don’t work (ex. the “About” links at the bottom of the page).

    Overall, really great job so far and I can’t wait to see what else comes of this! I’ll definitely be looking out for when you open-source the project, at least for better understanding, and maybe to contribute too! :)

    Edit:

    Ah okay, seems like you need to be following a community to be able to post to it. That makes sense.

    It also seems like maybe I need to create multiple accounts to create multiple communities? Each account is its own community? So if I wanted to make a community for “golang” for example, I’d have to make an account named “golang”... Then that account owns itself as a community? That’s my best guess!

  • This is incredible work! It looks snazzy and yet is very light - the frontpage only took 300kb to load (compare that to new reddit, lol). I really love the alt text for NSFW posts: https://i.imgur.com/2tcHsGY.png

    How are you planning to do moderation? You seem to be going with a reddit-style "the creator of the subreddit moderates" system - how are you planning to deal with the pitfalls of that, like power users moderating thousands of communities, mod abuse and accusations thereof, etc.?

  • This is amazing to see, do you have the code source available to read? if not, I understand, but I would be curious what programming language you wrote all this in.

    Oh and, before I sign up I should ask if you plan to monetize this via subscriptions or similar so you don't have to vanish on us if you don't want to.

  • Hi HN.

    I started to build Gurlic as a way to post my thoughts.

    Here are a few examples: https://gurlic.com/bob/dont-laugh https://gurlic.com/plato/ion?theme=minimal https://gurlic.com/homer/the-odyssey-book-i?theme=pudding https://gurlic.com/raw/next-stop-immortality?theme=naked

    There is a minimal editor for writing longform/articles, with a fair bit of customization, theme options, including custom CSS, adding co-authors etc.

    User can also post short posts including media, attachments, reviews, polls and so on. Some examples:

    https://gurlic.com/raw/post/320442840570134533 https://gurlic.com/bob/post/lf1Gb5wFYb6A https://gurlic.com/davinci/post/hjWoniPoYNDK etc...

    These posts are brought together in profiles which can be customized: https://gurlic.com/raw https://gurlic.com/bob https://gurlic.com/haxor

    Profiles can be at subdomains too: https://raw.gurlic.com

    Or domains: https://bob.monster

    Communities -----------

    Gurlic has a thing called a "bread" which is a collection of posts. The most common type of bread is a community, which is sort of like a subreddit or a forum. These are fairly minimal now, but have customization options, mods/admins and so on. Here are a few examples:

    https://gurlic.com/music https://gurlic.com/programming https://gurlic.com/space

    Communities can be nested:

    https://gurlic.com/music/jazz https://gurlic.com/music/jazz/fusion

    They can be found at subdomains too, like so: https://music.gurlic.com https://music.gurlic.com/jazz https://music.gurlic.com/jazz/fusion

    Or domains: https://gurlic.space

    Galleries ---------

    A gallery is just another type of bread, but accepts image posts only. Like this:

    https://gurlic.com/art

    They can be at subdomains too: https://art.gurlic.com

    Or domains: https://gurlic.art

    Publications ------------

    Publications are yet another type of bread. These are for longform posts only. Here's one: https://gurlic.com/classics

    And a post from it: https://gurlic.com/classics/the-iliad-book-ii

    These can be at domains too: https://classics.wtf

    And a post: https://classics.wtf/the-odyssey-book-iii

    Nested breads don't have to be the same type, so you could have a gallery under a community, or some other combination. Like this: https://gurlic.com/art/discussion https://gurlic.com/programming/memes

    Other stuff -----------

    Most posts can be tagged, marked NSFW, users can be @mentioned, there are #hashtags, all the usual modern amenities. Profiles and communities have RSS too, or should, last I checked.

    Work in progress ----------------

    I'm hoping to integrate matrix into the code as soon as I find more time to read/learn it and things like dendrite and hydrogen are stable enough. Until then, signed up users get a @username:gurlic.com account and there's a self-hosted version of the Riot/Element as https://gurlic.com/chat that I havent' had the time to play with yet. I'm guessing the usual matrix clients on desktop/phone can be used, but I haven't checked.

    Short term goals are to build up a small community of users, fix things that are broken, and make the code free. I'm not a programmer, so all of this took a lot of yahoo searches. I'd be happy to hear feedback and advice.

    Longer term goals would be to have activitypub or some kind of way to have federated interaction between domains. But this needs more thought and probably someone smarter than me to look into it.

    Most of the backend is Go/grpc for the db/logic, and rust for the shortlink server. The frontend is a combination of Go templates, vanilla JS, Svelte, and Vue.

    There is a ton of other stuff I'm leaving out for brevity. Some of them may come to me in the comments if anybody has a question.

    Thanks

  • I love the theming options, nested communities, and your goal to federate the network in the future!

    The concept of having different types of "breads" based on things like content type and length is intriguing.

    One small feature request: It looks like this may be in progress because I noticed a URL on user profiles, but I'd love to see RSS for each user and community.

  • Got the code through email, clicked the link.

    uMatrix blocked it. Disabled it.

    Then uBlock Origin blocked it. Disabled that.

    Still blocked, so disabled NextDNS.

    Then it worked.

    Just a FYI.

  • So.. I can't get to the about page because when I scroll down to see the links in the footer, it loads more content :)

  • The login button doesn't work when using subdomains (raw.gurlic.com), just thought I'd let you know. It should be a static https://gurlic.com/login rather than using a relative path.

  • i really like the content and simplicity of the site, looking forward to exploring more of the features :)

    one bug that's stood out with videos .. if i pause/stop/finish a video and scroll until new content loads, it reloads the video(s) further up the page and they start playing in the background, forcing me to scroll all the way up to stop them. a minor annoyance but i wanted to point it out.

    in addition to preventing this reload from restarting videos, it would be cool if videos im watching pop out to the bottom right (like many news sites do) as i scroll so i "take it with me" while i browse other content

  • Your principle said "Content must be exposed via direct and friendly URLs" so I suppose the url of a post will be using title, not (just) post id.

    Edit: turn out some post does have title in the url

  • Great work. Your design is nice. But if I may give one critique. Please add a way for users to reach the footer, it becomes silly to reach it when you have endless scroll. Either put the links in footer somewhere else and remove the need of the footer or stop the auto load after sometime and give a button for user to load more. so that they can find the footer and know more about your website.

  • super cool. I'm reading and checking the website.

    Are creating API for posting is in your timeline? Is black theme?

    wonderful job

  • Padding on mobile is gigantic

  • looks like reddit, conceptually

  • It is like a redesigned reddit with most of the features missing and doesn't recognize dark mode by default.