๐ŸŽฌ 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

Share this project:

Updates