back arrow
how to build a video platform
April 3, 2021
5 min read

If you were to build YouTube today, this is how you could do it

YouTube is one of those “I wish I’d thought of it” ideas. The video sharing platform totally broke the mold when it first launched in 2005. And today, it’s amassed more than 2 billion monthly users.

But a lot has changed since 2005 — including the technology involved in building video sharing software. If YouTube was to be built today, it wouldn’t need to be coded from scratch. You may not need to use any lines of code at all.

API integrations mean you could be the one to build the next YouTube or Vimeo. You could even dream up a totally new app concept for sharing video media files. So how do you get started?

In this guide, we’ll break down how to build a video sharing app, using the low/no code audio/video application/workflow builder, AVflow.

How to build YouTube with low/no code in AVflow

The following components are essential for building a video sharing app or platform:

  1. A frontend (the application interface to play videos on).
  2. A database to store raw video files. 
  3. A process (method or function) to polish each video for playback devices.
  4. A separate storage location for the playable content.

Let's start off by gathering these resources.

1. Your application’s frontend interface

You don’t need a UI developer to create your video app’s interface. 

We promised this would be a low-code/no-code guide and — while AVflow is focused on powering the playback process — there’s tons of other ways to secure an interface quickly and easily.

Envato Elements is a great place to start, or there are other template marketplaces where plug-and-play themes come ready with profile login functionality.

2. A database for video storage

Elastic cloud storage is a must for video sharing platforms, and something like AWS ECS/S3 Bucket will do the trick. Once you have an account on AWS, be sure to copy your S3 API key — we’ll need this in just a moment when we get started on AVflow.

3. Video processing for playback — Mux and AVflow 

Head to and create an account, if you haven’t done already, and do the same with, too. What we’re aiming to do is create a workflow to process the videos you saved in the database storage acquired in step 2. 

Each workflow begins with a trigger and executes a process on your video files. Finally, you get the modified video in a location of your choosing. 

Here’s a step by step guide for building a video-based application in AVflow:

Click ‘New workspace’ in your AVflow home screen and then hit ‘New flow’.

Drag and drop the ‘S3 Storage’ bucket icon onto the workflow canvas. Highlighted above is the S3 bucket option. 

Configure the ‘+Setup S3 Options’ section to fetch videos from your bucket. Simply enter your S3 bucket's API Access Keys in the fields highlighted below.

At this stage you’ll have started the workflow with a single video. The problem is, you want your app to be used by other people, right? And not all playback devices will be capable of playing the video in that one format you save it as.

That’s why we’ll add in the Mux platform API. 

Mux will transcode your video to a range of bitrates, for users with low bandwidth or using mobile, all the way up to 65” 4K TVs! Mux will also simplify any processing (subtitles, burn-ins, etc) you may need before rendering videos on your app. 


Outside of AVflow, sign into Mux and copy the API keys required — you’ll need these at the next step. Then, back in AVflow, drag the Mux icon from the right-hand menu and into your workflow to get started. 

Select the action you want to carry out with the Mux block — ‘Upload Video’ — then move onto the ‘Options’.

Whenever this block runs, new videos in the S3 location we specified earlier are sent to Mux for processing. To do so, a simple (once-off) authentication process has to be passed — and this is where that API Access Key we've been holding on to from Mux comes into play.

Add in the Key data and hit ‘Save’.

Insider tip >> This workflow relies on Mux returning a link that any playback form can render into video format, and these links are best stored in a table within AVflow.

Open the ‘Table’ screen by clicking on the left-hand menu in AVflow. This allows you to create a table to call upon in the ‘Table Step’ in your workflow (something we’ll line-up in just a moment). This command will connect to your locally-created storage location, as defined in the screenshot below. 

With all the necessary data now held in your table, it’s time to add this API into the mix.

Drag the ‘Table Step’ icon into the list. Open the ‘Select Action’ menu and select ‘Insert’. Then specify the table name, and columns to hold the link, unique IDs, timestamp, and a description of the video file in the link. 

Your workflow ends when you add a ‘Webhook’ block. This will execute an HTTP Post method to push links in the table to your external app URL. Simply put, it connects the links obtained from Mux with your video-based app and prepares them for playing.

Get your video-based application in front of users quickly and easily with AVflow

That’s how you get one up on YouTube’s backend developers! Using low/no code platforms like AVflow to develop video-based apps gives you two key advantages:

  • Cost savings — fewer developers and less infrastructure required.
  • Time saving — you can create and test 10+ variations of your app in a week.

The process we've walked you through could turn your idea into the next internet phenomenon. What are you waiting for? Get started with AVflow today.