YouTube
A responsive YouTube clone built with Flutter & YouTube API. Implements MVVM architecture and Provider state management for clean, maintainable code. Features adaptive UI across devices, video playback, and search functionality. Demonstrates modern Flutter development practices with efficient state handling.
Install / Use
/learn @Imran-Khattak/YouTubeREADME
Flutter YouTube Clone
A comprehensive, responsive YouTube web application clone built with Flutter. This project faithfully recreates the YouTube experience across all devices with pixel-perfect UI and core functionality.
📱 Responsive Design
Adapts seamlessly to any screen size (mobile, tablet, desktop)
Maintains YouTube's look and feel across all device formats
🛠️ Tech Stack
Flutter for cross-platform UI development
YouTube API for fetching real content data
MVVM Architecture for clean, maintainable codebase
Provider for state management
✨ Features
Home Feed
Dynamic content loading with infinite scroll
Category-based content filtering
Trending videos section
Video Player
Full-featured custom video player Playback controls (play/pause, seek, volume) Video quality selection Picture-in-picture support
Recommendation Engine
"Up Next" video suggestions
Related content based on viewing history
Search Functionality
Real-time search suggestions
Filter results by relevance, upload date, etc.
Search history tracking
Engagement Features
Comments section with replies
Like/dislike functionality
Share options
Channel Integration
Detailed channel pages
Subscriber counts and analytics
Video playlists and channel content organization
Shorts
Vertical short-form video experience
Swipe navigation between Shorts
Engagement metrics for Shorts conten
Responsive View
<img src="https://github.com/Imran-khattak/YouTube/blob/master/assets/assets/images/all-devices-black.png"/>Desktop View
<img src="https://github.com/Imran-khattak/YouTube/blob/master/desktop%20(1).png"/> <img src="https://github.com/Imran-khattak/YouTube/blob/master/desktop%20(3).png"/> <img src="https://github.com/Imran-khattak/YouTube/blob/master/desktop%20(2).png"/> <img src="https://github.com/Imran-khattak/YouTube/blob/master/desktop.png"/>Mobile View
<table> <tr> <td><img src="https://github.com/Imran-khattak/YouTube/blob/master/assets/assets/images/home_light.png" width="400" height="700"/></td> <td><img src="https://github.com/Imran-khattak/YouTube/blob/master/assets/assets/images/home1.png" width="400" height="700"/></td> </tr> <tr> <td><img src="https://github.com/Imran-khattak/YouTube/blob/master/assets/assets/images/home_dark.png" width="400" height="700"/></td> <td><img src="https://github.com/Imran-khattak/YouTube/blob/master/assets/assets/images/video1.png" width="400" height="700"/></td> </tr> <tr> <td><img src="https://github.com/Imran-khattak/YouTube/blob/master/assets/assets/images/video2.png" width="400" height="700"/></td> <td><img src="https://github.com/Imran-khattak/YouTube/blob/master/assets/assets/images/video3.png" width="400" height="700"/></td> </tr> <tr> <td><img src="https://github.com/Imran-khattak/YouTube/blob/master/assets/assets/images/video4.png" width="400" height="700"/></td> <td><img src="https://github.com/Imran-khattak/YouTube/blob/master/assets/assets/images/channel_light.png" width="400" height="700"/></td> </tr> <tr> <td><img src="https://github.com/Imran-khattak/YouTube/blob/master/assets/assets/images/channel_dark.png" width="400" height="700"/></td> <td><img src="https://github.com/Imran-khattak/YouTube/blob/master/assets/assets/images/tech_brothers.png" width="400" height="700"/></td> </tr> <tr> <td><img src="https://github.com/Imran-khattak/YouTube/blob/master/assets/assets/images/search1.png" width="400" height="700"/></td> <td><img src="https://github.com/Imran-khattak/YouTube/blob/master/assets/assets/images/search2.png" width="400" height="700"/></td> </tr> <tr> <td><img src="https://github.com/Imran-khattak/YouTube/blob/master/assets/assets/images/shimmer.png" width="400" height="700"/></td> <td><img src="https://github.com/Imran-khattak/YouTube/blob/master/assets/assets/images/shimmer2.png" width="400" height="700"/></td> </tr> <tr> <td><img src="https://github.com/Imran-khattak/YouTube/blob/master/assets/assets/images/about.png" width="400" height="700"/></td> <td><img src="https://github.com/Imran-khattak/YouTube/blob/master/assets/assets/images/exception.png" width="400" height="700"/></td> </tr> </table>For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.
Related Skills
node-connect
350.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
350.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
350.8kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
