Erbis stands with Ukraine

How to Develop an App Like Mastodon

How to Make an App Like Mastodon

Learn about the Mastodon experience to create your censorship-resistant social network app

Social networks are more popular than ever, with people of all ages using them to stay connected with friends and family. Social networks are also very useful in the workplace, allowing companies to spread brand awareness and keep colleagues connected with each other and the company.

However, with all the benefits of social media, they also have their downsides, which are primarily related to security. According to a recent study, organizations face up to 100 attacks on their social media accounts per year. Additionally, more than half of social media users doubt that social network companies protect their data.

At the peak of security concerns, the Mastodon app gained a lot of popularity. Unlike traditional social networks, it offers different options for interacting with the system, allowing users to register accounts in different application instances.

If you are interested in how Mastodon works and how to develop a similar microblogging platform, keep reading our guide.

Mastodon is a decentralized (federated) social network that allows users to self-host their feeds. This means that there's no one central server that controls everything. Instead, there are thousands of servers all over the world that users can connect to.

Why is this so important? Well, for one, it ensures that Mastodon can never be shut down by anyone. But more importantly, it means that users are in control of their data. They can choose which server they want to connect to, and they can share whatever they want on the platform.

 Centralized vs. federated vs. distributed system, source: Joinmastodon.org
Centralized vs. federated vs. distributed system, source: Joinmastodon.org

Mastodon is also very popular because it's open source. This means that anyone can inspect the code, and make sure that there is no shady business going on behind the scenes. Additionally, it also means that developers can contribute to the platform and make it even better.

To sum up, Mastodon's popularity lies in its innovativeness and commitment to user privacy. It's a great alternative to similar social apps like Twitter and Facebook, which are often criticized for violating user privacy and being too restrictive.

The nature of open source

The development of a microblogging app like Mastodon is based on open-source technology. Open source software is an alternative to proprietary software distributed by commercial companies with limited or completely closed source code. Open source applications can be modified to fit other businesses' needs without violating the developers' copyrights. They can also be used to study vulnerabilities that may be encountered during the development of other programs.

There is a specific procedure to launch an open source project like Mastodon. Here are the steps you need to take.

1. Obtain an open source license. You can choose between copyleft and permissive licenses. The Mastodon app uses the copyleft license called the GNU Affero General Public License. While it allows users to use the Mastodon source code for any purpose, it also obliges them to make their source code public as well.

2. Attach the README file. This will help people to understand the purpose of your project, the benefits that it brings, and how to get started with your Mastodon-like project.

3. Develop a contributing guideline. Here you can share your vision about the contribution type you expect from project participants.

4. Create a code of conduct. This establishes rules for project community behavior and helps avoid stressful non-constructive situations. You can check Mastodon's code of conduct on GitHub. You can also read the Contributor Covenant which was used as the basis of Mastodon's code of conduct.

How to develop a microblogging applike Mastodon

Befofe we discuss this topic, there is one thing that needs to be clarified. Do you want to create software similar to Mastodon, or do you want to create your own microblogging application? And no, this is not the same.

While Mastodon is often seen as one of the top Twitter alternatives, it has many distinctive features. Twitter is proprietary, closed source software with uniform rules for all users. Mastodon, on the contrary, is a decentralized system that operates in the Fediverse.

The Fediverse is a group of independent yet interconnected servers that use the same open source software. Such open source software allows users to communicate across different platforms while adhering to privacy rules set by the instance where they are registered.

Fediverse participants
Fediverse participants

So, if you want to develop an app like Mastodon, you simply need to design software that can be used to power any website. In other words, you need to make a backend that anyone can use to create a microblogging app. 

To enable multiple websites to communicate with each other, you need to use a special protocol that allows synchronizing content on multiple instances. Mastodon uses ActivityPub protocol which provides a client/server API for managing content and a federated server-to-server API for sending content and notifications.

Technologies of microblogging app Mastodon
Technologies of microblogging app Mastodon

However, if you want to develop a social network app as a part of the Mastodon Fediverse, you should buy server space from a cloud provider and run the Mastodon code through a VPS (virtual private server). You should also obtain a domain name and partner with an email provider to obtain confirmation links and receive notifications from Mastodon.

How does Mastodon make money?

Mastodon is a social media that's different from similar platforms like Twitter and Facebook in a few key ways. 

First, it's decentralized, which means there is no one central authority controlling it. This makes it more secure and censorship-resistant.

Second, Mastodon is built on open-source software, which means that anyone can contribute to its development. 

Finally, Mastodon is not funded by advertising, which sets it apart from most other social media platforms.

So how does Mastodon make money then? Through sponsorship and contribution. Using crowdfunding investments, the Mastodon platform does not depend on a single third-party company but has stable cash flows from numerous micro-sponsors.

Levels of sponsorship subscription on Mastodon
Levels of sponsorship subscription on Mastodon

In return, the sponsors and contributors receive advertising for their brand on the Mastodon documentation, sponsors page, or front page.

Sponsorship tiers on Mastodon
Sponsorship tiers on Mastodon

How much does it cost to develop an app like Mastodon?

The price of development of a minimum viable product (MVP) for a social network can range from $40,000 to $60,000.

To start a project, you will need a back-end developer, a front-end developer, a QA engineer, and a project manager.

Such a team will create a server application and the front-end of your social media platform. A set of features may include a news feed, the ability to write, like, and share posts, send direct messages, use hashtags, etc. It will also be necessary to implement the ability to combine autonomous servers into a single Fediverse using a decentralized social networking protocol.

The project can be completed within 3-4 months. Next, you can share it on GitHub under the open source license so that other people can modify, improve, and enrich it with extra features.

If you want to be at the peak of the Mastodon era and create your own social network instance, the price of the project will largely depend on the price of the server. This can vary from a few dozen to a few hundred dollars per month.

Mastodon has many dedicated server providers, such as Masto.host, Hostdon, Spacebear, Ossrox, etc. which provide fully equipped instances for running the microblogging app.

Alternatively, you can rent a server from your chosen cloud provider and do all the technical work yourself.

Whether you want to develop an app like Mastodon or develop a social network app in the Mastodon cloud, contact us to find out how much time and money such a project will take. Our experienced business analysts will study your business and project idea and devise the most appropriate solution from the business and tech perspectives.

November 24, 2022