This is still very much early-days, but I'm thinking about building a distributed link aggregator. Some notes:
- no servers (all P2P) except to connect peers
- no "instances" so everything is in one namespace (so like reddit /r/community, not lemmy instance/c/community)
- everyone is a moderator - moderation based on a web of trust type system
- desktop first, mobile/web later - web would require servers, mobile may have platform-specific issues
- no plans to integrate with fediverse, but could be possible
- initial intent is to be text-only - file storage could be supported later in an opt-in basis (for now, just link to an external img host), but I'm worried about disk storage since there's no central data lake and everyone needs to chip in some storage space
Some technical details:
- written in Rust and ReactJS - Tauri-based
- uses Iroh for data synchronization
- looking into Appleseed and maybe TrustNet for moderation
Current status:
- rewrote Appleseed and part of TrustNet to Rust for perf testing last weekend (Rust is waaay faster) - will probably rewrite again once I finish reading the paper (current code is a direct port)
- have basic Tauri+Iroh app, but it's a glorified chat app w/ no syncing between peers (a peer can join a chat, but will lose access if the host goes down)
- reading source code for SimpleX (re-learning Haskell too) - could be interesting for DMs or something
I'm not sure how long I'll work on this, but I'll probably release some libraries under a relatively liberal license, so something like LGPL at the most stringent, but probably Apache/MIT (depends on if I need to clean-room the appleseed implementation).
So, if there's interest here, I'm happy to post updates for discussion periodically.
This sounds great! I really dislike that on lemmy, I can wake up any day and find out the instance I have my community on is gone, and I lose all my posts and subscribers. I've been thinking some sort of a p2p solution would be great, but I had no idea if it would actually be possible. I look forward to seeing how this progressed. I'd love to be able to see updates. Thanks for sharing!
Yeah, that's the dream with p2p apps. But whether it works like that in practice is another thing entirely.
So yeah, I'll post occasionally then.