Skip to content

CoWatch: Redefining how users experience content on YouTube! ๐Ÿš€

Notifications You must be signed in to change notification settings

vikasipar/CoWatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

17 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ย ย  CoWatch: Redefining how users experience content on YouTube! ๐Ÿš€

Live Site: ๐Ÿ‘‰ click here

Overview

What is CoWatch?

CoWatch is an extension of my previous project, the YouTube clone, where I've taken the concept of collaborative video viewing to the next level. With CoWatch, users can seamlessly watch YouTube videos together with their friends while enjoying integrated video call and screen sharing features. It builds upon the foundation of the YouTube clone, enhancing the user experience with real-time interaction and shared enjoyment of content.

Why I Built the Project This Way

  • Revolutionizing YouTube Viewing: CoWatch redefines how users engage with YouTube content, fostering collaborative experiences regardless of physical distance.
  • Exploring the Intersection: This project explores the convergence of video streaming, real-time communication, and collaborative experiences, offering a unique blend of technology and interactivity.
  • Playground for Experimentation: CoWatch serves as my experimental playground, allowing me to delve into cutting-edge technologies, refine my skills, and push the boundaries of what's possible in web development.
  • Commitment to Continuous Improvement: By building CoWatch, I demonstrate my commitment to continuous learning and improvement as a developer, constantly seeking new challenges and opportunities for growth.

Additional Innovative Features

  • Real-Time Peer-to-Peer Connection:

    • CoWatch utilizes WebRTC technology to establish peer-to-peer connections between users, ensuring low-latency and high-quality video streaming without the need for centralized servers. It allows users to interact and communicate with their friends while watching videos together
  • Screen Sharing Functionality:

    • Users can share their screens with friends, enabling collaborative viewing of YouTube videos.
  • Dynamic Room Creation:

    • Users can easily create new viewing rooms or join existing ones by simply entering a room ID, making it effortless to start watching videos with friends.

The Tech Behind CoWatch

Building CoWatch has been an incredible learning journey for me, where I've had the opportunity to dive deep into several exciting technologies:

  • WebRTC: CoWatch leverages WebRTC (Web Real-Time Communication) to establish peer-to-peer video connections between users, enabling seamless video calls for real-time interaction.

  • MediaStream API: With the MediaStream API, CoWatch can access and manipulate audio and video streams from user devices, facilitating both video playback and screen sharing features.

  • PeerJS: I've integrated PeerJS, a JavaScript library built on top of WebRTC, to simplify the process of setting up peer connections and handling signaling between clients.

  • React & Recoil: CoWatch's frontend is powered by React, with Recoil managing state to ensure a smooth and responsive user experience.

  • Tailwind CSS: A highly customizable CSS framework for modern and responsive UIs.

  • YouTube Data API: Integrated the API for fetching and displaying YouTube video data.

Getting Started

  1. Clone the repository:
    git clone https://github.com/vikasipar/CoWatch.git
  2. Install dependencies:
    npm install
  3. Set up YouTube Data API credential.

Running the App

npm run dev

Open https://localhost:5173 in your browser.

Screenshots:

homepage Search Videos Watch Videos