Watch HD content with friends via real-time video calls!
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.
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.
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.
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.
Abhishek Diwakar
Software Engineer