🎬 Project Name: SyncWatch – Long-Distance Couple Movie App 🚀 Goal: Let couples in long-distance relationships watch movies together in perfect sync using minimal internet data. Unlike Netflix Party-style streaming, the movie is downloaded locally, and only small sync messages are exchanged between devices.
🧩 Core Features Feature Description 📁 Local Movie File Selection Each user selects the same movie file stored on their device. 🔄 File Match Verification The app checks that both users selected the exact same file (via hash or metadata like duration). 👥 Google Login Simple and secure sign-in using Google authentication. 💑 Session Join/Create One user creates a session, the other joins using a code or link. Only the creator can allow access. 🎥 Media Player Custom video player with play/pause/seek controls — looks clean, dark UI. 📡 Sync Over Low Data No content is streamed. Only control messages (e.g., play, pause, seek time) are sent — like sending a WhatsApp message. 🔐 Privacy & Control Only session members can connect. No media file leaves the device.
🎨 User Interface (UI) Design Screen Description 🏠 Home/Join Page User logs in with Google and chooses to create or join a session. 🎬 Watch Tab File selector + video player. Shows sync status (connected/disconnected). ⚙️ Settings Tab Options for privacy, theme, debug logs (if needed). 📋 SessionCard UI component showing session info, status, participants.
🛠️ Technical Stack Component Technology Framework Expo + React Native Navigation expo-router Media Playback expo-av or expo-video Authentication expo-auth-session, Firebase Auth with Google File Access expo-file-system Sync Messaging Firebase Realtime DB or Firestore, or socket-based (optional) Hash Check md5 or similar module
⚠️ Important Concepts ✔️ Both devices must have identical files selected manually.
📶 Network usage is extremely low — only syncing actions like pause, seek.
🔒 No file upload — completely local and private playback.
📱 Works well on low-end phones and poor network (because no streaming).
🔄 How it works — Flow Summary: User A signs in with Google & creates a session
User B signs in & joins the session
Both select the same local movie file
App verifies files match (e.g., duration, hash)
User A presses "Play" → a message is sent to B to play at same time
If anyone pauses/seeks → sync message is sent
After playback begins, no internet is required except sync signals


Log in or sign up for Devpost to join the conversation.