Inspiration
We have identified certain issues concerning communities and groups formed within established social media platforms. These problems encompass the following aspects:
Ownership and Governance: Communities and groups are controlled and owned by a specific entity or a group of entities, which dictates how they are managed and operated.
Discontinuation of Communities: The controlling entity has the authority to discontinue a community, thereby impacting its members and their activities within the group.
Unfair Removal of Members: Members can be unjustly removed from a community without valid reasons or due process, limiting their participation and engagement.
Advertisement Benefits: The owner of the community retains the exclusive benefits of running advertisements within it, potentially depriving other members of potential opportunities.
Risk of Ban and Community Shutdown: There is a risk of the community being banned or shut down entirely by the central authority or the owners of the social media platform, leading to the loss of the community's presence and activities.
In summary, these challenges highlight the need for better community governance, fair membership policies, equitable distribution of benefits, and transparent decision-making processes within social media platforms.
What it does
SocialMesh is an innovative social media decentralized application (dApp) built on the Fantom foundation blockchain. Its primary objective is to establish a platform that fosters vibrant communities by leveraging the power of blockchain technology. Here are the key features and functionalities of SocialMesh:
Community Empowerment: When a community is created on SocialMesh, a billion unique tokens are minted specifically for that community. These tokens play a pivotal role in empowering and gamifying the communities.
Token Utility: The community tokens serve multiple purposes within the SocialMesh ecosystem. Firstly, they determine the voting power for community governance, ensuring that decision-making is fair and representative. Secondly, tokens are used to pay for various services within the community, such as advertising or commerce. Additionally, the tokens can be utilized as a form of payment for services, including jobs and gigs.
Token Collection: Community tokens can be obtained through a reward system, where tokens are rewarded for providing assistance or engaging content within the community. Furthermore, an in-app marketplace facilitates the buying, loaning, and swapping of tokens, enabling users to acquire tokens through various means.
Decentralized Communities: In SocialMesh, communities are owned collectively by every member of the community, rather than being controlled solely by the user who created it. This decentralized ownership structure ensures that decision-making power is distributed among community members.
Autonomous Communities: SocialMesh communities operate autonomously, with no involvement from the SocialMesh team in their governance. This grants communities the freedom to establish their own rules and processes.
Multiple Community Memberships: Users have the flexibility to be a member of multiple communities simultaneously, allowing them to engage with diverse interests and networks.
Unique Concept Communities: On the blockchain, there can only be one community for a particular concept. However, sub-communities and cliques can be formed within a community to cater to specific aspects or interests.
Overall, SocialMesh leverages blockchain technology to create an inclusive and engaging social media platform where communities can thrive, enabling users to actively participate, govern, and benefit from their collective experiences.
How we built it
After conducting extensive research, we embarked on the project by designing the user interface (UI) using Figma. Once the UI design was finalized, we proceeded to develop the frontend of the application. For this purpose, we utilized React.js, Bootstrap, CSS, and WAGMI, ensuring a robust and visually appealing frontend implementation. The technologies used for our smart contract and backend include Solidity, Hardhat, TypeScript, Node.js, Express.js, and PostgreSQL.
Solidity is an object-oriented programming language specifically created by the Ethereum Network team for constructing and designing smart contracts on blockchain platforms. It enables the creation of smart contracts that implement business logic and generate transaction records on the blockchain. We use this technology for our smart contract because Fantom is a Solidity-compatible chain and supports the Ethereum Virtual Machine (EVM).
Hardhat is a versatile and JavaScript-based framework designed for Ethereum blockchain developers. It offers a wide range of features and functionalities to streamline the development of decentralized applications (dApps) on the Ethereum network. Hardhat was used in our project because it simplifies smart contract development by automating certain steps in our contract development and it provides some helpful tools.
Choosing TypeScript as the primary backend language was driven by its benefits: enhanced code reliability through static typing, improved IDE support for productivity and readability, and compatibility with modern ECMAScript features across browsers.
Node.js combined with Express.js as the chosen web framework, offers a robust and efficient solution for server-side development. The decision to use Node.js was primarily driven by its exceptional performance and scalability. Node.js utilizes an event-driven, non-blocking I/O model, enabling our application to handle a large number of concurrent connections efficiently. Furthermore, the ability to write both client-side and server-side code in JavaScript promotes code reuse and reduces context switching for developers. The extensive Node.js ecosystem, with its wide range of open-source libraries and modules available through npm, provides abundant resources for rapid development. Express.js, being a minimalist web framework, complements Node.js by offering essential web application functionalities and a flexible routing system, facilitating quick and efficient development of APIs and web applications.
PostgreSQL was chosen as our database management system due to its renowned reliability, data integrity, and comprehensive feature set. Its robust relational model is ideal for applications with intricate data relationships and transactions. Compliance with ACID properties ensures consistent and reliable data. PostgreSQL's flexibility and extensibility enable us to work with diverse data types, including custom ones, tailoring the database to our project's specific needs. Furthermore, scalability features like table partitioning and replication support horizontal scalability and high availability as our application expands.
Challenges we ran into
The majority of our team was inexperienced in web3, and the project scope exceeded our current skill set. Additionally, the lack of a mentor made it challenging to find resources and implement the project idea accurately or closely. Technical issues, such as laptop malfunctions, hindered progress and meeting deadlines. We encountered an integration issue where the backend of our software was unable to communicate with the frontend. Lastly, we are currently facing challenges in deploying to the Fantom mainnet. However, we remain optimistic and determined to achieve a successful deployment before the deadline.
Accomplishments that we're proud of
We persevered through challenges and successfully built and submitted a software demo. The project provided invaluable learning opportunities and enhanced our knowledge and experience, which will benefit future projects. Our skill set improved significantly, and we take pride in tackling a fun and challenging project.
What we learned
Through this project, we acquired knowledge of new technologies, honed our skill set, developed effective collaboration skills, enhanced brainstorming abilities, executed innovative ideas, and improved our design thinking and decision-making processes.
What's next for Socialmesh
We aim to integrate SocialMesh with other dApps, introducing features such as the ability for users to create circles of friends within communities, implementing measures to prevent parody accounts and potential scams, and enabling the creation of specialized accounts for businesses, companies, and organizations.
Built With
- bootstrap
- css
- express.js
- figma
- hardhat
- html
- node.js
- postgresql
- react
- solidity
- typescript
- wagmi

Log in or sign up for Devpost to join the conversation.