WildYorkies

WildYorkies

Where to start with a distributed/decentralized social network concept?

I’m thinking of implementing a decentralized/distributed social network like secure-scuttlebutt with Elixir.

The key is that, each user is running their own network on their machine. So I would want to create an Elixir executable that that could be a long-running daemon/service on desktops and ideally on mobile (maybe with lumen?).

In order to update their local network, users connect to servers that basically blindly connect you directly to other users (like a switchboard operator with earplugs).

And it could actually store your “rolodex” of known users in ETS :smiley:

I’ll take any / all thoughts on this. Where to start? This is a bad idea for elixir?

Most Liked

bodgix

bodgix

There was a job offer on ElixirJobs in April from a company called moodle who were looking for an Elixir dev to help them with their project which was some kind of a social network implementing the ActivityPub protocol.

Apparently that project is open source: MoodleNet / MoodleNet Backend · GitLab

That ActivityPub spec looks rather complicated not sure if this is something you’d want to start with but it might help you or inspire.

MrDoops

MrDoops

Elixir is pretty good at federation and similar distributed problems. Check out what the guys at Pleroma are doing: https://pleroma.social/.

dimitarvp

dimitarvp

Corollary: make sure you understand CRDTs as well. It’s an extremely important concept in decentralised storage.

(However, maybe the storage library you choose will handle decentralised data reading and writing already.)

There’s also an Elixir CRDT library.

Where Next?

Popular in Discussions Top

Jayshua
I recently came across the javascript library htmx. It reminded me a lot of liveview so I thought the community here might be interested....
New
mikl
I wanted to capitalize a string, and tried using String.capitalize(). That generally works well, until you try to capitalize a word like...
New
axelson
Decided against including more info in the title, but the gist is that Plataformatec sponsored projects will continue with the assets bei...
New
mmport80
I have put far too much effort into Dialyzer over the last year or so - and basically - I doubt it’s worth the effort. It’s not as easy ...
New
mmmrrr
Just saw that dhh announced https://hotwire.dev/ Is it just me or is this essentially live view? :smiley: Although I like the “iFrame-e...
New
ricklove
I was just introduced to Elixir and Phoenix. I was told about the 2 million websocket test that was done 2 years ago. From my research, t...
New
PragTob
Hey everyone, this has been brewing in my head some time and it came up again while reading Adopting Elixir. GenServers, supervisors et...
New
shishini
I think this twitter post and youtube video didn’t get as much attention as I hoped I am still new to Elixir, so can’t really judge ...
New
PragTob
Hey everyone, this has been on my mind for some time and I’d love your input on it! TLDR: I feel like maps are superioer for storing and...
New
restack_oslo
Hello, Please pardon me for any faux paux. I am 46 and this is my first time on a forum of any kind. I wanted to to get answers from tho...
New

Other popular topics Top

albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
aesmail
Hello guys, I have finally made it. I created an admin interface for a framework. It’s been on my todo list for years and with the curre...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement