What is Fedodo?
First of all, to get everyone on the same page, I need to explain what Fedodo is and why I started developing it.
With the rise of Mastodon, I became more and more interested in the ActivityPub protocol. I really like the idea of having a big decentralized platform that can compete with the walled gardens of big tech. The ActivityPub protocol seemed to be just right to achieve that.
Until now, everyone developed a platform for a specific use case:
- Mastodon as an alternative to Twitter.
- Pixelfed as an alternative to Instagram.
- Lemmy as an alternative to Reddit.
- And the list goes on…
I wanted to do this differently. I thought it would not be optimal to develop an ActivityPub server for each of these platforms. So my idea was to create an ActivityPub server which does not only implement the ActivityPub server to server protocol but also the ActivityPub client to server protocol. This client to server protocol was not really wide spread at this time. But it would allow anyone to use a frontend of their liking with the same server. Also every user now just needs one account. This is possible because Fedodo has a feature which allows multiple ActivityPub actors per user account.
As part of Fedodo, I wanted to develop not only the server but also a set of frontends. In detail, I developed a Mastodon-like frontend an was starting to develop a Pixelfed-like UI.
The development
I started developing Fedodo in December 2022 and worked on it extensively until August 2023. Dedicating around eight months to the project.
During this time, I successfully developed a functional server. While it might be beneficial to give it a bit more attention, write a few tests here and there, and fix a few things, overall, it is working great. In addition to that I had a basic Mastodon-like app kind of finished and made significant progress developing the Pixelfed alternative.
For me, this is significant achievement and I am also a bit pride. I even had the opportunity to participate in a podcast hosted by a significant German tech YouTuber and chat about ActivityPub. This was quite an honor for me. (To the episode)
What is the Problem?
During the development period, I dedicated approximately 380 hours solely to coding. In addition to this comes the time I thought about the project and did not have an editor open (which I did not track). This makes about one and a half hours per day just coding. Every day in this eight months. Only paid with the German minimum wage, this would make up a 4715€. Clearly, a significant amount of time and effort went into the Fedodo project.
The problem is I did this in addition to a 40 hours work week. So my total working hours per week were about 50 hours.
I really enjoy coding in my free time. It is a awesome hobby for me. The problem with big projects like Fedodo is that at some point you aren’t as hyped on it as in the beginning. And after some time, even a hobby project turns into work. And I think this is the significant problem.
If I am working on small projects I am hyped for it doesn’t feel like work. But Fedodo did after four to five months. And than the 50 hours per week effect you.
I would not recommend to anyone working on a project of this size. I think everything which you can completely finish in under half a year is fine. But if you have the feeling you do work in your freetime it is not worth it. So keep on doing smaller projects and enjoy the process of creating.
Another option would be joining a comparable large community, developing an open source project. There you could do small things and have a proportionally big impact with little effort.
How does the future of Fedodo look like?
This feeling of work and personal issues during this time led me to pausing the development of Fedodo and taking a break from coding in my freetime altogether.
Now, a few months later, I’m slowly beginning to have this urge again to create something. So, I think it was the right decision to take a step back.
However, I will not work on Fedodo this hard again. Given the project’s size, this likely means I won’t be able to bring it to completion. Sadly.
Fedodo is just to big for me