What PeerTube Browser Is
PeerTube Browser is an independent open-source project focused on one practical problem: video discovery across the federated PeerTube ecosystem. PeerTube has a lot of valuable content, but it is still hard to find interesting videos when everything is spread across many different instances.
The goal of this project is to make discovery easier and faster without centralizing control around one large corporation. It works as a discovery layer on top of public PeerTube data.
Feedback and discussions: GitHub Discussions.
How It Works
The system crawls public PeerTube instances, collects metadata, builds embeddings, and creates a FAISS similarity index. Then the server uses this local dataset to return recommendations through a lightweight API that powers this website.
- Crawler: discovers instances, channels, and videos.
- Local dataset: keeps video and channel metadata in SQLite.
- Similarity index: enables fast "more like this" search.
- Web app: shows recommendations, channels, and video pages.
Recommendation Logic
Recommendations are built from a transparent mix of signals: content similarity, freshness, popularity, and controlled layer mixing. Likes are used as input for finding related content, but this is not a heavy black-box ML platform.
The recommendation system is activated by your likes. If you like a video on the video page, that like is saved locally in your browser. You can see your saved likes via the My likes button on the home page. You can clear all saved likes with Reset likes. Recommendations are generated based on these likes.
The idea is to keep the pipeline understandable and controllable while still giving useful discovery results.
Content Policy and Moderation
This platform is not intended for distributing pornography or trash content.
Moderation and filtering mechanisms are still being implemented. Instances are currently synchronized with what JoinPeerTube provides; if that source is accurate, those instances are already moderated.
Sometimes explicit content may still appear by accident. This is unintentional, and such content should no longer appear once moderation tooling is fully in place.
Open Source and Next Steps
The full source code and technical documentation are available on GitHub. If you want the implementation details, build steps, or architecture docs, they are all in the repository.
The project is still evolving: future directions include better ranking modes, optional account features, and deeper integration with federated social protocols.
About the Author
My name is Nachitima (a pseudonym). I am from Ukraine, from Kyiv. I started this project during the war as a way to stay mentally grounded and to find meaning and focus in a difficult and unstable reality. In this sense, the project is a way for me to stay engaged and to keep working on something constructive while a lot of hard things are happening around.
How the Project Was Made
The project was created almost entirely using vibe-coding.
I did not really touch the code directly. The technologies used here — HTML, CSS, TypeScript, JavaScript — were either unfamiliar to me or something I had only minimal experience with before. I am not a programmer, I have never worked as one, and I never wanted to be one.
I primarily see myself as a content creator. I am interested in animation, 3D, audiovisual content, journalism, maker culture, and hackerspaces. I do like programming in general, but not as a profession. My very first attempt at programming was an attempt to make a computer write code for me, because I did not really want to write it myself. In this sense, vibe-coding turned out to be exactly the way of programming that always felt closest to me.
The simple fact is that this approach is fast. I believe that even a very experienced programmer, doing this manually, would have spent significantly more time on it.
Why This Project Exists
I like the idea of federated social networks. I started working on this project almost on the same day I first learned about federated social networks as a phenomenon.
When I first visited PeerTube, the problem was immediately obvious: it is very hard to find videos that genuinely interest me. I thought it would be cool if it were easier to discover content — roughly as convenient as YouTube is in terms of discovery and finding something new and interesting.
At the same time, it is important to me that all of this is based on community rather than on a large corporation making money off users. I like the idea of an alternative to YouTube.
Why This Project Might Be Useful
I believe this platform can be useful for people who already watch content on PeerTube, for those who host PeerTube instances, and for content creators who publish their videos on PeerTube.
It can simplify discovery, lower the barrier to entry, and help people find interesting content more quickly. Potentially, it could attract new users to PeerTube and to federated social networks in general — because, frankly, it is currently quite hard to find anything interesting on PeerTube, and not many people are willing to push through that difficulty.
For content creators, this also matters: everyone wants their content to be seen and discovered. A platform like this potentially can help viewers find creators’ videos faster and more easily.
Project Structure and Source Code
This is an open-source project. If you want to learn more about how it works, how it is structured, or how specific parts are implemented, you can find detailed information in the GitHub repository. The repository contains the source code, documentation, and a more technical overview of the project.
You are welcome to explore it, read through the code, and see how the project is built.
Feedback and Support
If you like this project or find it useful for any reason, I would really appreciate hearing from you.
If you have ideas, thoughts, or suggestions about what could be improved, changed, or added — feel free to reach out to me directly or open an issue on GitHub. Any feedback, ideas, or discussion around the project are very welcome.
If you are curious about my other work, you can also check out my other projects and experiments on Instagram and YouTube — links are available below.
If you find this project useful and want to support it financially, you can do so via the links provided here. I would be very grateful. This kind of support gives me more motivation to spend time maintaining and developing the project further, and to keep investing attention and energy into it.