Inspiration 💡
Every day we use different social networks, Instagram, Twitter and even less known ones like Quora. We are used to consume content all day long, we have computers, phones and even watches, but a lot of that content is re-uploaded, people uploading their lives to instagram with pictures from the internet, re-uploading memes, even taking pictures, editing them a bit and posting them as their own.
What it does ❓
UniquePosts uses blockchain and other technologies such as image recognition to make a social network where the content is original by design, with all the features of a traditional social network allowing you to take photos or upload it, edit them with filters and publish them as NFTs using Hedera Hashgraph. It also prevents your content from being plagiarized or re-uploaded using an image similarity algorithm that looks for very similar submissions.
How I built it 🏗️
The application has 2 parts, the backend and the frontend, the backend is a server with Fastify and Deta to store the images, it also has different batteries to perform the operations for minting NFTs with Hedera Hashgraph, compare images, search the photos and much more.
For the frontend I made an app with Next.js, SWR and some React components, the styles are made with TailwindCSS and a delightful user experience.
The usable part is very simple, you start in a landing page with a nice animation where you can see the posts or add one, then you can upload an image using a photo or taking one with the camera, we can add filters to the image and add a caption, after you upload it our system detects plagiarism, minifies the NFT using Hedera's Hashgraph and finally shows it in the UI.
Challenges I ran into 🚧
The main problem is to make the system of similarity of images, since by the own infrastructure of the server the images that receives are stored in base64 there is no obvious way to do it, I made different proposals, the first is to use an algorithm like RMSE (Root-mean-square deviation) or SSIM (structural similarity index measure) at the end I make the system based on a simpler approximation using as base Sørensen-Dice coefficient.
Accomplishments that I am proud of ✅
I have a small list:
- Create a server with fastify for the first time in my life
- Create an image similarity system with Node.js
- Create a minting system for the NFTs
- I made a very nice UI with animations and a clean design.
- Fixed the CORS issues 🥵
What I learned 🙋♂️
I learned a lot of things like Fastify, Image Similarity, Working with file servers, Image Encoding and how to make more beautiful UI.
What's next for UniquePost 💭
I want the app to be a precedent to make better social networks that are based more on real and original content, instead of content that generates more likes regardless of the consequences it may have.
Built With
- deta
- fastify
- hedera
- image-analysis
- next.js
- react
Log in or sign up for Devpost to join the conversation.