Hey everyone.

I make Peersuite, an opensource free communication platform.

It’s private by default, there’s no sign-in or email collection.

It’s peer-to-peer, there’s no server, after discovery you are connected directly to your friends my AES-GCN encrypted WebRTC channels. It forms a mesh and identifies superpeers. Because there is no server, in order to save your data between sessions, you can download your workspace into a password encrypted file. Happy to answer any questions.

FEATURES:

  • chat with images, PMs, channels, and file send
  • group audio/video calling
  • screensharing
  • kanban board
  • whiteboard for diagrams/flowchartswith PNG export
  • collaborative document editing with formatted PDF export

The best way for self hosting is docker, its on dockerhub as openconstruct/peersuite. You can also download desktop versions from the github or use on the web at https://peersuite.space/

github - https://github.com/openconstruct/Peersuite

  • dingleberrylover@lemmy.world
    link
    fedilink
    arrow-up
    27
    ·
    2 days ago

    OK, so I tested Peersuite with a friend and I have to say: wow! We have collected a bit of feedback we would like to share:

    Positive: The audio, video and screenshare quality is outright amazing and much better than Discord. We had no crackling, delays or any other disturbances in any of those features. The UI is simple and functional, and everything is snappy and fast. It is also very easy to setup a workspace and to find yourself around the overall UI.

    Negatives: There appears to be no option to also share audio while screensharing, which currently is a major drawback for us. There is no dedicated audio channel. As soon as someone starts an audio call, you’ll hear the person no matter what. Only if you purposely join the call, will the others hear you. Opting in and out of an audio channel like in Teamspeak or Discord would be nice. When my friend started a video call, the audio input of the webcam’s microphone got activated, so I heard him twice. When he turned off the video call, the webcam’s microphone stayed activated. Once someone shared their screen or their webcam and turned it off later, you would still see them in the video and screenshare menu but with the picture being black. We would expect to be gone when closing the stream. There is no option to adjust the volume of an individual user. It would be nice to assign users to carts or columns on the Kanban Board. It would be nice to adjust the size of the Collaborative Whiteboard.

    It might seem like we are complaining a lot, but we actually really like the experience so far, so thank you very very much!! Once you can also share audio with your screen, and once we can setup our own persistent server (and maybe be able to adjust the volume or mute a user, and have the audio room a bit more isolated from the rest), we are ready to jump ship.

    • jerry@lemmy.worldOP
      link
      fedilink
      arrow-up
      6
      ·
      23 hours ago

      Awesome! Real world testing finds things I never have! I’m going to improve a lot of things based on this, thanks for the input.

      I have actually never thought of audio while screensharing, In my head it was mainly for people to watch videos and games. That’s an easy fix. Opting out of audio is easy enough. Audio and Vido shouldnt happen at the same time, thats a bug. Seeing a blackscreen after sharing is also a bug. I can implement per-user volume easily enough. User assignments in kanban is already on the roadmap. Adjusting the size of the whiteboard, this one is probably not going to happen. It was a real struggle getting it working as good as it does now. It should scale to your screen for the most part. I may re-implement Zoom in/out for drawing.

      It doesn’t sound like complaining, this is what I need, thank you for your input!!

      • dingleberrylover@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        18 hours ago

        Thanks for your response!

        Instead of Discord another friend and I used Peersuite (via browser) for over 2h to hang out. I watched him play Oblivion for around 30 min. So far everything was stable and high qualitiy. Hadn’t had any issues with the audio or the stream.

        But we found another bug: if multiple people are working on columns or carts on the Kanban board, as soon as someone posts it, the textbox of the others get reset and the text they were working on is gone.

        And we also had another thought: would it be possible to have the option of creating multiple audio channels like in Teamspeak or Discord? When playing team games, it is nice to have individual voice channels for each team. Another point would be user rights management, so basically what a user can or cannot do (maybe with a role-based approach: create roles like admin or read-only that you can assign to individual users), as well as the ability to block and unblock users (is this even possible with P2P?).

        • jerry@lemmy.worldOP
          link
          fedilink
          arrow-up
          1
          arrow-down
          1
          ·
          17 hours ago

          I’m planning to implement some sort of auth system. My current thoughts are host is auto admin, and they can pass admin. The overall issue with admin features, is if someone knows the room/password combo, theres no way to keep them out. Reloading the website or app will generate another peer ID.

          I’ll mess with the kanban stuff some.

      • beveradb@lemm.ee
        link
        fedilink
        arrow-up
        3
        ·
        21 hours ago

        I appreciate your mature response to feedback - I don’t personally have a strong interest in this but generally like to support open source competitors to commercial monopolies; if you have any way to donate money to you please share and I’ll send a few bucks

        • jerry@lemmy.worldOP
          link
          fedilink
          arrow-up
          2
          ·
          17 hours ago

          I have a gihub sponsor button on the repo, and I think you found it.

          Thanks! I appreciate the support!

    • Arkhive (they/she)@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      5
      ·
      1 day ago

      This review honestly sold me on trying it more than I already was. Assuming it gets actively maintained, this is a great roadmap feature/bug list. Perfectly presented constructive criticism. The internet needs more of this.

  • ayyy@sh.itjust.works
    link
    fedilink
    arrow-up
    15
    ·
    2 days ago

    There are some seriously toxic fuckheads in this thread. Thanks for your effort so far, I look forward to seeing where your project ends up!

  • Psythik@lemm.ee
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 day ago

    Sweet, I’ve been looking for something exactly like this for my upcoming radio station. I was going to use RocketChat but man is it a pain in the ass to get it to do the things I want it to do.

    How difficult is it to install, configure, and keep Peersuite up to date? Does it integrate well with websites? Would it be suitable for use as a public chat? The whole “no server” thing is concerning, especially since I’ll need to be able to see a full chat history at any given moment (for moderation purposes).

    • jerry@lemmy.worldOP
      link
      fedilink
      arrow-up
      2
      ·
      23 hours ago

      I don’t have ANY moderation tools yet. TBH probably not the best fit for you right now.

      • Psythik@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        23 hours ago

        When I saw the words “Discord alternative”, I got excited. Disappointing, but thanks for the heads up.

        I’ll check back in a few months to a year to give you time to build up the featureset. Thank you for making this. Discord doesn’t have enough competition.

  • Ulrich@feddit.org
    link
    fedilink
    English
    arrow-up
    78
    arrow-down
    3
    ·
    3 days ago

    It’s peer-to-peer, there’s no server

    The best way for self hosting is docker

    🤔

    • melroy@kbin.melroy.org
      link
      fedilink
      arrow-up
      22
      arrow-down
      1
      ·
      2 days ago

      It doesn’t contradict by definition. So ipfs is also decentralized yet you will need to run a client /server. So the client is also the server. Allowing you to connect to a mesh decentralized system. Just like torrent is also both a client and a server.

    • jerry@lemmy.worldOP
      link
      fedilink
      arrow-up
      14
      ·
      2 days ago

      Yes, it takes an initial connection for discovery. The peers need to know how to find each other.

        • jerry@lemmy.worldOP
          link
          fedilink
          arrow-up
          6
          ·
          2 days ago

          If you are hosting you send them the room code and a password. You can save a workspace and restart it later, so if you had an active chat it would reload automatically when you imported the file

          • Ulrich@feddit.org
            link
            fedilink
            English
            arrow-up
            1
            ·
            2 days ago

            That’s no what I’m asking. If I open the site and create a workspace, then close the window, how do I get back into my workspace?

            • Nora@lemmy.ml
              link
              fedilink
              arrow-up
              1
              ·
              18 hours ago

              I’m guessing if you were the last person to close this session, all chat would be lost, unless you saved it to the file.

              OP mentioned that they were working on a self-host version that persists.

    • bloubz@lemmygrad.ml
      link
      fedilink
      arrow-up
      10
      ·
      edit-2
      3 days ago

      I’ve looked into the sources because that was weird to me as well.

      It’s because the web “client” is using nginx as a local web server. You’re selfhosting the web client

      The app still is 100% a frontend js client

      OP did link to their public instance of the client, but gives more opportunities

  • Spaz@lemmy.world
    link
    fedilink
    arrow-up
    12
    ·
    2 days ago

    Any reason you chose github vs codeberg? Just wondering. Gave your project a star regardless. Nice work!

    • jerry@lemmy.worldOP
      link
      fedilink
      arrow-up
      8
      ·
      2 days ago

      I’ve been on github for like 8 years now, familiarity, plus the build tools are nice, github actions builds the docker images for me now

  • Raltoid@lemmy.world
    link
    fedilink
    English
    arrow-up
    44
    arrow-down
    9
    ·
    edit-2
    3 days ago

    It’s html and javascript, the release comes with loose chromium files, ffmpeg binary and a 190MB executable. The link typo hasn’t been fixed in hours, they don’t link to the github, they misuse terminology, etc. and it’s version 0.3.

    That’s a no from me.

    • MonkderVierte@lemmy.ml
      link
      fedilink
      arrow-up
      44
      arrow-down
      2
      ·
      2 days ago

      The link typo hasn’t been fixed in hours,

      Whoa, hey, they’re not paid on-call. Give it a few days.

    • jerry@lemmy.worldOP
      link
      fedilink
      arrow-up
      18
      ·
      2 days ago

      That’s fair, the project is about a month old, the electron releases will get an installer for some platforms.

      • Raltoid@lemmy.world
        link
        fedilink
        English
        arrow-up
        8
        arrow-down
        2
        ·
        edit-2
        2 days ago

        Yeah it’s an early version and I have no doubt that you guys will make it a lot neater, and it seems like a nice project. I just think it breaks several basic rules of privacy and security oriented programming, which is why I don’t think it’s a good fit for this community just yet.

      • mac@lemm.ee
        link
        fedilink
        arrow-up
        3
        arrow-down
        2
        ·
        2 days ago

        You should try out something that utilizes the normal system webview instead of electron that just bundles chromium.

        Check out tauri

        • jerry@lemmy.worldOP
          link
          fedilink
          arrow-up
          3
          ·
          2 days ago

          Tauri webview doesn’t support WebRTC, would have preferred that. Using system webview would be super iffy because of WebRTC support.

          • mac@lemm.ee
            link
            fedilink
            arrow-up
            2
            arrow-down
            1
            ·
            2 days ago

            Ahhh interesting. I haven’t worked with webrtc so never ran into that!

    • jerry@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      17 hours ago

      I’m hoping a design guru submits a PR. I honestly put a lot of thought into the UI, I just think I’m not skilled enough.

  • toastmeister@lemmy.ca
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 day ago

    Kanban is interesting, as it makes it seem like its geared towards work in some ways?

    Is Documents a wiki section or a file repo?

    • jerry@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      23 hours ago

      Yeah that was the plan to make it good for teams or friends. Documents is just for collaborative writing, You can create/rename/delete documents that live in storage until you print them. Importing files to edit would be a good addition.

    • jerry@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      16 hours ago

      IT has some features matrix doesn’t, but matrix has many features peersuite lacks also.

    • Nora@lemmy.ml
      link
      fedilink
      arrow-up
      4
      ·
      edit-2
      1 day ago

      At a glance looks easier to setup, less complicated, a few more features, Kanban, Notes etc. One big thing is the P2P. Matrix needs a server to run, this is P2P.

        • Nora@lemmy.ml
          link
          fedilink
          arrow-up
          3
          ·
          1 day ago

          federation isn’t really required here since account creation is trivial and non-persistent from the looks of it. Third party clients and being a protocol are definitely pros that matrix has over this. Matrix is definitely a lot more fleshed out than this project, but even though its new it already has more to it in some ways than matrix has. It also feels way more snappy than matrix, matrix can be sluggish at times.

  • Detun3d@lemm.ee
    link
    fedilink
    arrow-up
    19
    ·
    2 days ago

    Keep up the good work, it’s always good to have alternatives. But please at least fix the link in your post, it’s giving a bad first impression.

  • dingleberrylover@lemmy.world
    link
    fedilink
    arrow-up
    6
    ·
    2 days ago

    This looks very promising, thank you very much! Going to fully test it out tomorrow.

    Is there anything planned to have a persistent server option (self-hosted)?

    • jerry@lemmy.worldOP
      link
      fedilink
      arrow-up
      10
      ·
      2 days ago

      Yes, I plan to create a node server for permanent rooms. It will allow you to name the server, which then acts like a superpeer and keeps the workspace open and saves progress every 10-30 minutes.

      • dingleberrylover@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        2 days ago

        Wonderful! The possibility to spontaneously hop on the server to look whether a friend is online or not is very important at least for us compared to the necessity of having to set up the room each time (which would require us to coordinate beforehand that we want to hangout in a voice channel).

  • Baynd@feddit.org
    link
    fedilink
    arrow-up
    15
    arrow-down
    2
    ·
    3 days ago

    This needs to be widely known. I didn’t test all the functions yet, but if this works, this is big!