I’m still working on the PeerTube-Browser project and wanted to share a small update on what has been happening lately.
Since the previous post I made several changes that are probably not very visible from the user side, but they are quite important from an architectural perspective.
Engine and Client separation
I split the system into two separate components: Engine and Client.
The Engine is essentially a service that crawls data from PeerTube instances. It collects and indexes that data and exposes it through an open REST API.
The Client then communicates with the Engine through this API to fetch the data and display it to the user.
The idea behind this separation is to make the Engine something that can run more or less autonomously. In the long term it should be a service that you can just start and let it run without much moderation or manual intervention. At most it might require occasional moderation of things like instances or channels.
So the Engine’s responsibility is simple:
collect data, index it, and provide access to it.
The Client’s responsibility is different:
take that data and present it to users in a useful way.
Because the Engine exposes a public API, it also opens the possibility for other integrations. In theory anyone could build their own front-end, client, or integration using the data the Engine provides. For example, someone could create a page on a PeerTube instance that shows videos only from that instance’s federation, or build alternative interfaces or tools on top of the same dataset.
At the moment the API is still undocumented and evolving. The Client already communicates with the Engine through it, and technically anyone can query the Engine at:
engine.peertube-browser.com
There are a few endpoints available that return data, although they are still experimental and will likely change as the system develops. The plan is to gradually expand and stabilize this API so it becomes more flexible and useful for building additional tools, integrations, or alternative frontends.
Current work
Right now most of my work is focused on the development workflow, particularly how to work with AI agents inside the project.
As the project has grown, I started running into some limitations and practical problems when using agents for development. Because of that, I’m currently designing a workflow that helps structure this process better.
Part of this work also involves figuring out how to track and present development progress publicly on GitHub. I want to create a workflow that allows me to keep transparent records of development activity while also automating some repetitive parts of the process.
The goal is to optimize how I interact with AI agents during development and make it easier to show progress publicly as new features are implemented.
What’s next
I already have a rough plan for the functionality that should eventually be implemented. For now I’ll keep moving forward step by step following that plan.
Feedback from the previous post was very helpful, and I’m taking those comments and suggestions into account. If you have ideas, thoughts, or criticism — feel free to share them.
Support
At the moment the project is funded entirely by me. I’m building it not for personal use, but because I think it can be useful for others and because I genuinely enjoy working on it.
Also, to be honest, working on something meaningful helps keep my mind occupied during the war here in Ukraine.
If you find the project interesting or useful, and you want to support its development, I would really appreciate it. Seeing that people care about the project and use it is a huge motivation to continue working on it.
You can support the project in two ways:
- Patreon — for recurring support
- Donatello — a Ukrainian service that allows one-time donations directly to my Ukrainian bank account
Project's repo:
https://github.com/denikryt/PeerTube-browser
Any support, feedback, or ideas are very welcome.
Thanks for reading.
Matrix actually supports multimedia, GIFs, videos, and photos. The speed of downloading multimedia always depends on the internet connection, the available host machine, and the computational resources available to the host machine. This obviously applies to every hosted platform.
In terms of privacy, Matrix has encrypted rooms, which means that the actual messages, the actual text of the messages, will be encrypted and stored on the instance in encrypted form. The only way to decrypt that data is to use user keys, or client keys. So, in short, it is a more comprehensive security system. It can theoretically be compromised, but it would require more effort to do this. So, in terms of security, Matrix is really good. If your priority is to keep your friends and yourself safe, which I think should be the first priority, then Matrix is a very good solution if you eventually end up self-hosting.
Regarding other platforms, Mastodon actually supports hiding data and restricting some API calls in order to make the instance more closed. But on the other hand, the data is stored unencrypted. So if someone gets access to your machine, to your host machine, it will be pretty easy and simple to get and read all the data. Again, in comparison with Matrix, even if someone eventually gets access to your host machine and to the data, it will be another challenge to decipher the data they have.
Speaking about forums, another option is the NodeBB forum platform. It is also federated. It also allows you to hide the data from unregistered users. It can manage roles for users to make certain users see certain categories, so the management system is more comprehensive in this sense. It can also be federated, so categories are federated there. So, in some sense, you can have a federated closed forum using NodeBB.
There are also other platforms, for example, Hubzilla and Bonfire. They are more privacy-focused federated platforms. But as far as I understand, they are more like social platforms instead of forums or microblogging platforms. So they are more like Facebook in some sense. They have some specifics.
So, in general, I would recommend using Matrix if you end up self-hosting and if your main priority is security. Again, it supports multimedia. But if you still want a more forum-like platform, I would recommend using NodeBB, or taking a look at Hubzilla and Bonfire.