A video sharing platform built with Node.js, Express and the EJS template engine, where people upload and manage their own videos.
The challenge
Video is heavy: files are large, uploads must not time out, and the app still has to feel quick when someone browses or manages their library. The goal was a simple platform where users upload and manage their own videos.
How it works
- Web application. Built the server on Node.js with Express, handling routing, uploads and user actions, and rendered the pages on the server with EJS templates so they load fast and stay simple to maintain.
- Uploads and library. Users upload videos and manage everything they have uploaded from their own library view.
- Storage on Amazon S3. Video files are stored in an Amazon S3 bucket rather than on the web server, so storage grows with the library and the application server stays light.
- Hosting on Amazon EC2. The application runs on an Amazon EC2 instance, keeping hosting and storage on the same cloud.
Highlights
- Separates the app (EC2) from the media (S3), the standard pattern for scalable media sites.
- Server-rendered EJS pages keep the front end lightweight.
- Live demo available from the button below.
The result
A working, end-to-end product that shows full-stack ability beyond integration platforms: building the application, handling file uploads and running it on AWS.
At a glance
| Built with | Node.js, Express, EJS |
|---|---|
| Storage | Amazon S3 |
| Hosting | Amazon EC2 |
| Engagement | Personal project |

