Build Your Own Video Sharing App – Loom Clone with Next.js and Mux JavaScript Tutorial
Learn how to build a video sharing Loom clone using Next.js and Mux.
Code: https://github.com/beaucarnes/screen-recorder
✏️ Course created by @beau
Check out Mux: https://www.mux.com/
Mux provided a grant to make this course possible.
⭐️ Contents ⭐️
– 0:00:00 Course Introduction & Building a Loom Clone
– 0:00:13 Why Video is Hard: Encoding, Codecs, and Large Files
– 0:00:52 Understanding HLS & Adaptive Bitrate Streaming (ABR)
– 0:01:43 How Mux Solves Video Infrastructure
– 0:02:06 Project Roadmap: Features & AI Integration
– 0:02:45 Architecture: Server Relay vs. Direct Upload
– 0:03:25 The Direct Upload Flow Explained
– 0:04:06 Initializing the Next.js 15 Project
– 0:04:51 Installing Dependencies: Mux SDK & Lucide React
– 0:05:40 Setting Up Mux API Tokens & Permissions
– 0:06:55 Creating Server Actions for Mux Integration
– 0:08:23 Configuring Upload Settings & Asset Quality Tiers
– 0:10:44 Implementing Video Status Polling
– 0:12:17 Fetching & Parsing VTT Transcripts
– 0:16:10 Building the Screen Recorder Component
– 0:18:32 Capturing Screen & Mic via Browser APIs
– 0:20:37 Merging Media Streams for Combined Audio/Video
– 0:21:42 Handling Media Recording Chunks & Blobs
– 0:24:47 Implementing the Secure Direct Upload
– 0:30:29 Integrating the Mux Player React Component
– 0:32:15 Adding Share Links & Clipboard Functionality
– 0:34:20 Designing the Video Preview Page
– 0:37:25 Building the Video Thumbnail & Hover GIF Preview
– 0:41:07 Creating the Dashboard & Dynamic Rendering
– 0:45:12 Adding Automatic Video Watermarking
– 0:47:04 AI-Powered Summaries & Tags with Mux AI
– 0:54:43 Securing Content with Signed Playback URLs
– 1:00:49 Simulating User Authentication & Access Controls
– 1:03:17 Conclusion & Final Production Tips
❤️ Support for this channel comes from our friends at Scrimba – the coding platform that's reinvented interactive learning: https://scrimba.com/freecodecamp
🎉 Thanks to our Champion and Sponsor supporters:
👾 @omerhattapoglu1158
👾 @godd
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from freeCodeCamp.org · freeCodeCamp.org · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
React: Production Server Setup Part 2 - Live Coding with Jesse
freeCodeCamp.org
cookies vs localStorage vs sessionStorage - Beau teaches JavaScript
freeCodeCamp.org
Browser history tutorial - Beau teaches JavaScript
freeCodeCamp.org
Graph Data Structure Intro (inc. adjacency list, adjacency matrix, incidence matrix)
freeCodeCamp.org
React: Parameterized Routing with Next.js - Live Coding with Jesse
freeCodeCamp.org
React: Dealing with jQuery Issues - Live Coding with Jesse
freeCodeCamp.org
setInterval and setTimeout: timing events - Beau teaches JavaScript
freeCodeCamp.org
Browser and Device Testing - Live Coding with Jesse
freeCodeCamp.org
Last Minute Updates - Live Coding with Jesse
freeCodeCamp.org
Post Launch Updates - Live Coding with Jesse
freeCodeCamp.org
React: Setting Up Google Analytics - Live Coding with Jesse
freeCodeCamp.org
React: Masonry Layout - Live Coding with Jesse
freeCodeCamp.org
Load Balancing Digital Ocean Droplets - Live Coding with Jesse
freeCodeCamp.org
try, catch, finally, throw - error handling in JavaScript
freeCodeCamp.org
Load Balancing: SSL Passthrough Setup - Live Coding with Jesse
freeCodeCamp.org
Graphs: breadth-first search - Beau teaches JavaScript
freeCodeCamp.org
React: Masonry Layout Part 2 - Live Coding with Jesse
freeCodeCamp.org
React: WordPress API Live Search - Live Coding with Jesse
freeCodeCamp.org
Creating WordPress Custom Post Types - Live Coding With Jesse
freeCodeCamp.org
Dates - Beau teaches JavaScript
freeCodeCamp.org
Miscellaneous Front End Updates - Live Coding with Jesse
freeCodeCamp.org
Merging a Pull Request from GitHub - Live Coding with Jesse
freeCodeCamp.org
React + Prettier + Standard JS - Live Coding with Jesse
freeCodeCamp.org
React: Sortable Responsive Table - Live Coding with Jesse
freeCodeCamp.org
Geolocation Sorting by Distance - Live Coding with Jesse
freeCodeCamp.org
Tradeoff Matrix - Agile Software Development
freeCodeCamp.org
The Definition of Ready - Agile Software Development
freeCodeCamp.org
Getting first React job without experience - Ask Preethi
freeCodeCamp.org
React: Google Analytics Click Tracking - Live Coding with Jesse
freeCodeCamp.org
Submitting a PR to an Open Source Project - Live Coding with Jesse
freeCodeCamp.org
Should I go back to school to get CS degree? - Ask Preethi
freeCodeCamp.org
Hero Section CSS Changes - Live Coding with Jesse
freeCodeCamp.org
Working Agreement - Agile Software Development
freeCodeCamp.org
A day at Pennybox with Co-Founder Reji Eapen
freeCodeCamp.org
React: Sorting and Filtering Data - Live Coding with Jesse
freeCodeCamp.org
React: Sorting and Filtering Data Part 2 - Live Coding with Jesse
freeCodeCamp.org
React: Building a New UI - Live Coding with Jesse
freeCodeCamp.org
Definition of Done - Agile Software Development
freeCodeCamp.org
Getting started with jQuery (tutorial) - Beau teaches JavaScript
freeCodeCamp.org
Making a React Blog with WordPress Content - Live Coding with Jesse
freeCodeCamp.org
React, NextJS, CSS - Live Coding with Jesse
freeCodeCamp.org
jQuery events - Beau teaches JavaScript
freeCodeCamp.org
React/NextJS Routing and WordPress API Custom Types - Live Coding with Jesse
freeCodeCamp.org
React: Working with API Data - Live Coding with Jesse
freeCodeCamp.org
React: Refactoring Components - Live Streaming with Jesse
freeCodeCamp.org
jQuery effects - Beau teaches JavaScript
freeCodeCamp.org
More React Refactoring - Live Coding with Jesse
freeCodeCamp.org
animate in jQuery - Beau teaches JavaScript
freeCodeCamp.org
"Finishing" My React Site - Live Coding with Jesse
freeCodeCamp.org
Starting a New React Project (P2D1) - Live Coding with Jesse
freeCodeCamp.org
React Project 2 Day 2: Learning Material UI - Live Coding with Jesse
freeCodeCamp.org
The Agile Manifesto - Agile Software Development
freeCodeCamp.org
jQuery: get and set with http, text, val, and attr - Beau teaches JavaScript
freeCodeCamp.org
React Project 2 Day 3 - Live Coding with Jesse
freeCodeCamp.org
The INVEST approach to product backlog items
freeCodeCamp.org
React Project 2 Day 4 - Live Coding with Jesse
freeCodeCamp.org
Chickens and Pigs - Agile Software Development
freeCodeCamp.org
React Project 2 Day 5 - Live Coding with Jesse
freeCodeCamp.org
jQuery: add and remove DOM elements - Beau teaches JavaScript
freeCodeCamp.org
React Project 2 Day 6 - Live Coding with Jesse
freeCodeCamp.org
More on: AI Workflow Automation
View skill →Related AI Lessons
⚡
⚡
⚡
⚡
SAP's AI strategy: Come for the openness, stay because you have to
The Register
Automating Sample Clearance: Your AI Legal Co-Pilot
Dev.to AI
10 Prompts for Generating Product Demo Videos with AI
Dev.to AI
35 ChatGPT Prompts for Wealth Managers: Strengthen Client Relationships, Sharpen Analysis, and Scale Your Practice
Dev.to AI
🎓
Tutor Explanation
DeepCamp AI