SafeUpload-Application that prioritises user safety and content integrity.

Avinash NayakAvinash Nayak
2 min read

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

  • 1Password

  • Hashnode

0
Subscribe to my newsletter

Read articles from Avinash Nayak directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Avinash Nayak
Avinash Nayak