Skip to content
Mobile

MTMovies — Movie & Series Streaming Platform

A streaming app with a cinema-grade player, synchronized watch parties, offline downloads, live TV and cross-device resume — on Android, iOS, Windows, macOS, Android TV and the web with a single account.

MTMovies — Movie & Series Streaming Platform

MTMovies is a complete movie & series streaming service built to give Persian-speaking users an experience on par with global platforms: player, subtitles, watch parties and live TV — in one app, on every platform.

Key features

  • Cinema-grade player: quality and speed selection, dubbed/multi-language audio, skip intro, autoplay next episode, picture-in-picture and resume from the exact second.

  • Custom Persian subtitles: font, size, colour, position and timing offset, all from inside the player.

  • Watch party: synchronized playback for everyone, in-player chat and one-tap invites.

  • Offline downloads with the same player, live TV without extra apps, and resilient playback that reconnects automatically on poor networks.

  • One account, every device: Android, iPhone (web app), Windows, macOS, Android TV and the browser; on TV, sign-in and subscription purchase happen by scanning a QR code from the phone.

  • "For you" recommendations, a "what should I watch?" spinner, shareable lists, referrals and gift subscriptions.

Technical architecture

The client is a single Flutter code base for mobile, desktop, TV and web. The player layer sits on ExoPlayer (Android/TV) and AVPlayer (iOS/macOS), while resume, quality switching and skip-intro logic live in shared Dart code so behaviour is identical everywhere. Android TV navigation is built around D-pad focus handling.

The back-end runs on Laravel: a movie/series/season/episode catalogue modelled with Eloquent relations, subscriptions and payments (Zibal), gift and referral codes, and versioned APIs secured with Sanctum. Video is delivered as multi-bitrate HLS; watch parties keep play/pause/seek state in sync over a WebSocket channel. Watch positions and lists are stored server-side and synced across devices; TV sign-in uses a short-lived token encoded in a QR code.

Share: X Telegram LinkedIn WhatsApp

More projects