Back
Completed

A social networking app

Watch HD content with friends via real-time video calls!

Start Date
Dec 2022
End Date
Mar 2023
Status
Completed
Team
1 member

Technologies

Node.JsExpress.JsAgoraMongoDBRESTful APIMaterial UIReact.JsSign in with AppleVimeoApple Push Notification Service (APNs)AWS EC2AWS AmplifyRedux Toolkit

About this project

Think "watch party" but as a dedicated social platform. Users invite friends into a room, pick exclusive content, and everyone watches in perfect sync -- with live video chat overlaid. The client wanted a full social layer on top: friend requests, blocking, reporting, and push notifications.

The Hard Problem

Synchronized video playback across multiple devices is deceptively hard. Network latency varies per user, buffering states differ, and someone hitting pause needs to pause for everyone. On top of that, the video chat had to run simultaneously without degrading playback quality.

How I Built It

I built the entire backend and admin panel as the sole backend developer. I used Agora for the real-time sync layer -- it handles the video call and playback coordination, so I could focus on the social graph and content management. Videos are hosted on Vimeo (cost-effective CDN for HD content) and served through the backend API. Authentication uses Sign-in with Apple since this was an iOS-first app, and I integrated APNs for push notifications on friend requests, room invites, and new content alerts. The React admin panel lets the content team upload videos, manage users, and moderate reported content.

Impact

This project taught me how to orchestrate multiple real-time services (Agora, APNs, Vimeo) into a cohesive experience. The trickiest part was managing room state -- handling edge cases like users dropping mid-session, reconnecting, and syncing back to the correct playback position without disrupting others in the room.

Team

Abhishek Diwakar

Abhishek Diwakar

Software Engineer