4 ms·
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/bob/dont-laugh
by SubGenius 6y ago
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/bob/dont-laugh
https://gurlic.com/plato/ion?theme=minimal https://gurlic.com/plato/ion?theme=minimal
https://gurlic.com/homer/the-odyssey-book-i?theme=pudding https://gurlic.com/homer/the-odyssey-book-i?theme=pudding
https://gurlic.com/raw/next-stop-immortality?theme=naked 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/raw/post/320442840570134533
https://gurlic.com/bob/post/lf1Gb5wFYb6A https://gurlic.com/bob/post/lf1Gb5wFYb6A
https://gurlic.com/davinci/post/hjWoniPoYNDK 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/raw
https://gurlic.com/bob https://gurlic.com/bob
https://gurlic.com/haxor https://gurlic.com/haxor
Profiles can be at subdomains too:
https://raw.gurlic.com https://raw.gurlic.com
Or domains:
https://bob.monster 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/music
https://gurlic.com/programming https://gurlic.com/programming
https://gurlic.com/space https://gurlic.com/space
Communities can be nested:
https://gurlic.com/music/jazz https://gurlic.com/music/jazz
https://gurlic.com/music/jazz/fusion https://gurlic.com/music/jazz/fusion
They can be found at subdomains too, like so:
https://music.gurlic.com https://music.gurlic.com
https://music.gurlic.com/jazz https://music.gurlic.com/jazz
https://music.gurlic.com/jazz/fusion https://music.gurlic.com/jazz/fusion
Or domains:
https://gurlic.space https://gurlic.space
Galleries
---------
A gallery is just another type of bread, but accepts image posts only. Like this:
https://gurlic.com/art https://gurlic.com/art
They can be at subdomains too:
https://art.gurlic.com https://art.gurlic.com
Or domains:
https://gurlic.art https://gurlic.art
Publications
------------
Publications are yet another type of bread. These are for longform posts only. Here's one:
https://gurlic.com/classics https://gurlic.com/classics
And a post from it:
https://gurlic.com/classics/the-iliad-book-ii https://gurlic.com/classics/the-iliad-book-ii
These can be at domains too:
https://classics.wtf https://classics.wtf
And a post:
https://classics.wtf/the-odyssey-book-iii 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/art/discussion
https://gurlic.com/programming/memes 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 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
- zepto 6y ago“I'm not a programmer” Surely this is past tense now?
- wraptile 6y agoGreat work! I like the bread and nesting idea! At this point I feel that every new "social platform" should greet me with a whitepaper. "How is this different from Reddit? What are functionality goals?". Your post right here is great at explaining this but maybe this should be included somewhere on the website itself?
- SubGenius 6y agoThanks! You're right, I think I'll work this into an "introducing" blog post soon.