SafeUpload-Application that prioritises user safety and content integrity.
SafeUpload is an application that allows users to securely upload and store videos while ensuring they do not contain any Not Safe for Work (NSFW) content. It integrates with Passage by 1Password for passwordless authentication, Livepeer for video uploading and Web3 Storage for decentralized and secure storage of the uploaded content.
Login
Login with passkeys
For videos with no NSFW content Web UI
For videos with NSFW content Web UI
Features
Passwordless authentication powered by passkeys using Passage
NSFW Content Detection: The app utilizes NSFW detection algorithms to analyze videos and determine if they contain explicit or inappropriate content.
Automated NSFW Check: Videos undergo an automated NSFW check before being uploaded, preventing the upload of explicit or inappropriate content.
Livepeer Integration: SafeUpload seamlessly integrates with Livepeer to facilitate secure and reliable video uploading.
Web3 Storage Integration: Uploaded videos are stored on Web3 Storage, ensuring decentralized and immutable storage for increased data security.
Architecture
The SafeUpload app follows a client-server architecture, with the following components:
Client
The client side of the app consists of the following:
Frontend UI: The user interface where user logins using passage, users can initiate video uploads, view upload progress, and receive notifications. built using Vite react
Server
The server side of the app consists of the following:
Express.js Server: The backend server built using Express.js that handles incoming requests and responses.
ffmpeg: Converts the videos into snapshots and sends for NSFWcheck
NSFW Detection: Utilizes the NSFW detection library to analyze generated snapshots and determine if they contain explicit or inappropriate content.
Livepeer Integration: Interacts with the Livepeer API to facilitate secure video uploading and processing.
Web3 Storage Integration: Uses the Web3 Storage client library to store the uploaded videos in a decentralized and secure manner.
Getting Started
To get started with SafeUpload, follow these steps:
Clone the repository: git clone https://github.com/AvinashNayak27/Hashnode
Start the server
cd backend Install dependencies: yarn node app.js
Start the client
cd frontend Install dependencies: yarn yarn dev
Monitor the console output for NSFW checks, Livepeer uploads, and Web3 Storage uploads.
Access the frontend UI to view the upload progress and notifications.
Demo video
%[https://youtu.be/4k547Te4ACQ]
Source Code at https://github.com/AvinashNayak27/hashnode
Subscribe to my newsletter
Read articles from Avinash Nayak directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by