00:00:00 Have you ever spent more time wrestling with screen recording software than actually recording?
00:00:06 Just getting glossed in clunky menus when all you needed was just to record that damn quick demo.
00:00:13 I've been there.
00:00:14 Wouldn't it be easier if you could just hit record, capture your screen, and instantly share a single shareable link.
00:00:22 Hi there, I'm Adrian, and in today's course, we're building a full stack screen recording and video sharing platform that streamlines everything.
00:00:33 No extra steps, no confusing dashboards, just record, upload, and share within seconds.
00:00:40 In this course, you'll implement authentication using Google, a one-click screen recorder for desktop or browser capture,
00:00:48 instant uploads with public and private toggles, and auto-generated share links.
00:00:54 AI-powered transcripts.
00:00:56 Alongside hosting your videos, Bunny will also automatically encode, tag, and transcribe any speech into organized and time-stamped captions.
00:01:06 available in just a few minutes, a clean gallery with filters and sort options, advanced rate limiting and bot protection with ArcGit that helps you secure
00:01:16 your whole app in just a few lines of code, video detail pages with transcripts and shareable links, and even privacy controls,
00:01:25 letting you choose who can view your videos.
00:01:28 And while you build all this, you'll also learn how to work with some of the best tools in modern web development.
00:01:34 such as Next.js, of course, for building scalable and performant server-driven websites with built-in routing.
00:01:42 And by the way, if you want to take things to the next level, the full Next.js 15 course is now available on JS Mastery Pro.
00:01:50 Next, in this course, we'll also use Tailwind CSS for a modern responsive interface utilizing utility-first styling and the reusable components across
00:02:00 the entire application.
00:02:01 And this time, we're also using BetterAuth, which provides a TypeScript native way to implement secure and scalable authentication with minimal setup.
00:02:12 We'll also use Zeta, a Postgres database platform, and we'll combine it with Drizzle ORM for full type safety.
00:02:20 Of course, TypeScript also comes into the picture here to maintain a clean codebase across the entire code architecture.
00:02:28 And then there's Bunny, an edge platform that helps devs deliver faster, build easier, and worry less.
00:02:35 It brings delivery and security into one seamless platform.
00:02:39 It's easy to use, built to scale, and backed by the best support I've ever experienced.
00:02:45 I wouldn't be using it if it didn't deliver, but it does.
00:02:49 And that's why I wanted to teach you how to use it to build this project and why it powers every video on our coding platform.
00:02:58 So, click the special link they prepared just for you watching this video in the description to create a free account and get an extra month.
00:03:05 And the best part?
00:03:06 All the tools used in this project are free to get started with.
00:03:10 So, let's build something that's polished and portfolio-worthy, the kind of project that could land you a job or your next gig.
00:03:17 So, what are you waiting for?
00:03:19 Let's dive right in.
00:03:29 And before we dive into the code, you'll need an account on Bunny, the platform we'll use to host our videos.
00:03:36 They've just tripled their free trial specifically for you watching this video.
00:03:41 So if you go to bunny.net forward slash JS Mastery, your project will stay up longer with no credit card required.
00:03:49 So just click the link in the description to be able to follow along and see exactly what I'm seeing and to grab your bonus month.
00:03:57 After that, you can also click the ArcGit link down below, which we'll use to implement rate limiting and bot protection to secure our whole application
00:04:06 in just a few lines of code.
00:04:08 And now that we've created our accounts, which allows us to focus on the logic, we'll be able to easily use them later on within the code.
00:04:16 So let's dive right in.