Brief

DMAP is built on top of Fluence and IPFS to provide dynamic media services in a decentralized manner to everyone. Websites have been using lambda functions or services like cloudinary to serve content dynamically to users , DMAP is a decentralized alternative to such services.

With the help of IPFS and Fluence, We are able to serve dynamic content on the go to provide a variety of services to our users.

Why

More that 60% of the website on web use dynamic content in one form or the other while there are centralized services which provide this services in the form of lambda functions or specific service but depending upon such solution is costly as well as not reliable hence an alternative decentralized solution is needed. With the combination of IPFS and Fluence we present DMAP a protocol which enables dynamic content serving services such as resizing, cropping and watermarking powered by Fluence's marine runtime.

Features

Let's Decentralize Everything

Currently we have added a few services to do image manipulation task but the possibilities are endless and as Fluence marine allows anyone to create their services that can scale quickly even video processing can be done in wasm

  • Resize : Allows you to resize a particular image into any height and width
  • Crop : Crop image by giving x,y
  • Watermark : Add a watermark onto any image dynamically

How to use

There are two ways in which the users can try out our services, one is SDK which is an react element which they can directly import into their react project and start making all their image dynamic

  • SDK : It is an react component which they can directly import into their react project and start making all their image dynamic

  • Web Dashboard : if a user wants to just try it out they can use our web dashboard and try out our functions

Architecture

Our architecture is highly decentralized and cost efficient we are using Fluence services for all our image processing needs and using IPFS to store our wasm's as well as the content provided by users.

Fluence Marine Services : We have wrote a marine service from scratch in rust which handles all the image manipulation and is very extensible. More function can be easily added to this service and currently it supports resizing and cropping

Fluence Aqua : Using Aqua we connect client to the various providers and for fetching the media files from the IPFS CID.

IPFS : All the media and wasm files are stored on IPFS in order to easily serve users

Challenges we ran into

  • Understanding the Fluence architecture
  • Selecting rust crates that are compatible with wasm

Future Updates

Content Moderation : WASM based ML model to filter out content that do not abide to specific rules

Video Services : Adding support for various video services such as conversion and bitrate changes

Built With

Share this project:

Updates