AWS Backend for Social Media Site (Help With API/Logic)

Hi I am currently building a social media application where users will be able to upload photos and videos and chat functionality I was looking initially for bubble to handle this however after realizing the pricing for bubbles storage, I have now decided to integrate Amazon (AWS) Services to handle this instead.

what I need to achieve is:

  1. A signed in user being able to upload a picture or video
  2. Converted/Down Sampled in order to reduce the file size
  3. Analyze Photo/Video with Rekognition (Content Moderation/ Document/Face Checker)
  4. Store metadata for use later in application
  5. Store photo in a secure S3 Bucket (linked to the user?)
  6. User is able to delete/modify document.
  7. Authorized users are able to view photo/video. (will there be a charge for serving this content?)

As its a social media site I need only the Authorized users to see these photos eg. (Friends, Admins, Original Poster)

I also want to make sure that the security of these documents are robust. (I’m a little unsure regarding this aspect of the site)

If there are any kind-hearted Bubbler’s that would be able to help/advise me with this or point me in the right direction I would be eternally grateful.

Thank You.

AWS S3 Bubble plugins exist.

You may need to use AWS Lambda function using AWS Transcoder triggered on S3 upload to convert this file

There are Bubble plugins for AWS Rekognition, both for images and videos.

You will store the data you want to from the AWS Rekognition plugin result.

You could use AWS S3 & SQS Utilities plugin to upload a file in your own S3 bucket and generate a presigned URL each time the user requests it, so only this user will be able to access it. However they expire.
Alternatively a random prefixed file URL could do, stored in your Bubble app.