I Built a Short Video Sharing App Using Next.js + MongoDB π₯
Hey devs!
Over the last few weeks, I challenged myself to build something exciting β a fully functional short video sharing platform, inspired by YouTube Shorts.
Meet π Streamora
π GitHub Repo: github.com/nakul-3205/streamora-video-sharing-app
Why I Built This
I wanted to learn how actual video platforms work behind the scenes β from video uploads and real-time feed generation to cloud storage and authentication.
So I built Streamora from scratch to practice:
Video uploading & preview rendering
Secure user auth with GitHub login
Building a sleek feed UI with smooth performance
Working with Next.js App Router + MongoDB backend
Tech Stack
Frontend: Next.js 15 (App Router) + TypeScript
Styling: Tailwind CSS + Framer Motion
Backend: MongoDB (Mongoose) + REST API Routes
Auth: NextAuth.js (using GitHub provider only)
Media: ImageKit (for video upload and CDN)
Hosting: Vercel
Core Features
Upload videos
π Explore trending videos
π¨ Clean dark UI with subtle animations
π¦ Optimized for fast load with ImageKit CDN
π Still in Progress
ποΈ Delete button for videos (yeah, the test cartoons need to go π
)
π Better redirect handling after signup/login
β€οΈ Like/comment system
π€ User profiles & creator pages
β οΈ And of course, handling ImageKit quota overages in production π₯²
π§ What I Learned
Handling large file uploads in Next.js with formData + Buffer
Structuring clean full-stack apps using App Router
Protecting routes using getServerSession
Cloud-based media management + CDN optimizations
Real-world debugging of SSR quirks & auth redirects on Vercel
π¬ Final Thoughts
This project was hands-on, buggy, and full of learning. Nothing teaches you like deploying real features and watching them kind of break in production π
If you're into full-stack dev and want to build a portfolio project that's both fun and technically rich β clone this and go wild!
π Links
π₯ Live: streamora-video-sharing-app.vercel.app
π» GitHub: github.com/nakul-3205/streamora-video-sharing-app
π·οΈ Tags
Top comments (0)