YouTube clone
Vidora · Video-sharing app template
A working YouTube-style iPhone app in Swift, running on sample data. Topic-chip home feed, watch page with up next, draggable mini-player, Shorts, search and subscriptions.
- iOS
- Swift · SwiftUI
- Sample data
- Free to remix

Remix copies the working Swift app into your account for free. It runs in Vibecode's cloud iOS simulator, in your browser.
What's inside
- Home feed
- Watch page
- Channel and actions
- Comments and up next
- Mini-player
- Shorts
- Search
- Subscriptions and library
About this template
A YouTube clone is a video catalog with three hard screens: the home feed, the watch page (player, channel, comments, up next) and a mini-player that keeps playing while you browse. Vibecode's template, Vidora, has all three plus Shorts, search and subscriptions, playing real stock videos in a native iPhone app written in Swift. Remix it and add uploads and channels by chatting.
How to use it
- 1
Remix the template
Open the Vidora share page and press Remix. Vibecode copies the whole Swift project into your account, so you start from a working app instead of an empty screen. Remixing is free.
- 2
Make it yours by chatting
Tell the agent what to change in plain English, for example: “Rename the app to Lessonly, make it a video course library for guitar, and add a progress checkmark on watched lessons.” Each change rebuilds the app and runs it in Vibecode's cloud iOS simulator, right in your browser.
- 3
Publish to the App Store
Click Publish, choose Publish to App Store and sign in with your Apple ID. Vibecode builds, signs and uploads the app to Apple, with no Mac and no Xcode. You need an Apple Developer account ($99/year) and the Plus plan or higher.
Features
Home feed
Topic chips that filter 16:9 video cards with duration and LIVE badges, channel, views and age.
Watch page
Player with custom controls, double-tap 10-second seek, scrubber and expandable description.
Channel and actions
Subscribe toggle with bell, like and dislike counts, share, save and download buttons.
Comments and up next
Comments sheet with an input and an Up next list that switches the player.
Mini-player
Swipe the player down to dock it above the tab bar and keep browsing; tap to expand.
Shorts
Vertical pager with like, dislike, comments, share and subscribe.
Search
Recent searches, live suggestions and results.
Subscriptions and library
Channel row with unread dots, history, playlists, Watch later and liked videos.
Add next, with one prompt each
Uploads and channels. Upload, transcode and publish videos to your own channel.
Real view counts. Counting views without double counting refreshes.
Monetization. Memberships or paid courses.
The prompt that built it
Paste it into a new iOS app to build your own copy from scratch, or change the brief first.
Prompt · 762 words
Build a polished, fully working native iOS app in SwiftUI named Vidora: an original video streaming app that recreates the core experience of YouTube, but with its own name, its own original logo and its own color palette. Do NOT use the YouTube name, logo, wordmark, app icon or any trademarked asset anywhere in the app. Design an original Vidora logo mark, drawn with SwiftUI shapes (Path/Canvas) or made as a generated image asset, and use it in the header.
Screens and flows (dark theme #0F0F0F; bottom bar: Home, Shorts, a center "+" create button, Subscriptions, You):
1. Home: top bar with the Vidora logo, cast, notifications bell with a badge, and search. A horizontally scrolling chip row (All, Music, Gaming, Podcasts, Cooking, Travel, Tech, Live, Recently uploaded, New to you) filters the feed. Feed of 12 video cards: full-width 16:9 thumbnail with a duration badge (and a "LIVE" badge on one), channel avatar, two-line title, "Channel name · 1.2M views · 3 days ago", 3-dot menu that opens an action sheet (Save to Watch later, Save to playlist, Share, Not interested). A "Shorts" shelf of 6 vertical thumbnails sits between cards 2 and 3.
2. Videos and thumbnails: use these verified free stock clips with AVPlayer (an AVPlayerLayer in a UIViewRepresentable, aspect-fill, no system controls): https://assets.mixkit.co/videos/<ID>/<ID>-720.mp4 and thumbnails https://assets.mixkit.co/videos/<ID>/<ID>-thumb-720-0.jpg for IDs 47555, 43905, 9286, 44001, 5371, 41576, 4308, 52427, 35540, 51612, 51614, 23282, 1366, 43150, 39912, 36924 (curl-check them; drop any that fail). Give each an invented channel (e.g. "Kitchen Lab", "Wander Weekly", "Byte Size Tech", "Torque Garage") and a realistic title.
3. Watch page: tapping a card opens the player at the top (autoplays) with custom controls on tap: play/pause, 10 s back/forward on double tap, a scrubbable progress bar with current/total time, and a minimize chevron. Below: title, "1.2M views 3 days ago ...more" (expands the description), channel row with avatar, subscriber count and a Subscribe pill that toggles to "Subscribed" with a bell, an action row (like/dislike pill whose count updates, Share, Remix, Download, Save), a comments preview card that opens a comments sheet with an input, and an "Up next" list; tapping an up-next video switches the player.
4. Mini-player: swiping the player down (or the chevron) shrinks it into a mini-player docked above the tab bar with title, play/pause and close, while you keep browsing; tapping it expands back with a smooth animation.
5. Shorts: full-screen vertical pager of the same clips with like, dislike, comments, share and remix buttons on the right and Subscribe next to the channel name.
6. Search: tap search for recent searches and suggestions; typing filters suggestions; submitting shows results.
7. Subscriptions: row of channel avatars with unread dots, then the latest videos. You: avatar, handle, History row (horizontal), Playlists, Watch later, Liked videos. Create: a sheet with Create a Short, Upload a video, Go live, Create a post.
Rules for the whole app:
- Native SwiftUI for iOS 26, the deployment target the Vibecode iOS template already uses (do not change it). iPhone-first layout. SF Symbols are fine for UI icons (never for the YouTube logo or any brand mark).
- Everything runs on-device from realistic, deterministic fixture data in one Swift file (e.g. Fixtures.swift: real-sounding names, handles, numbers, timestamps, captions). No backend (leave the backend/ folder alone and make no network calls except loading images and media), no login, no permissions (no camera, photos, location, contacts, notifications, microphone). Do not persist state (no UserDefaults, @AppStorage, SwiftData or files): every launch starts from the same fixture state, so the demo is repeatable.
- Remote images: load images.unsplash.com photo URLs (with ?w=800&q=80 style params) with AsyncImage (or a small cached image view) and a tasteful placeholder. Verify every image and media URL with `curl -s -o /dev/null -w "%{http_code}" <url>` before you use it and replace any that do not return 200. No broken or blank images anywhere.
- Polish: native-feeling spacing and typography, safe areas, smooth spring animations (.spring/.snappy, most under 350 ms), matchedGeometryEffect for hero and expand/collapse transitions where it helps, .sensoryFeedback haptics on key taps, pressed states, and loading/empty states. Simulated waits stay short (under 3 s). Every button visible on screen does something sensible; nothing is a dead end.
- Keep the compiler happy: small files (under ~300 lines each), big view bodies split into subviews, and no long chained expressions, so nothing hits "unable to type-check this expression in reasonable time".
- It must build with zero errors and run in the iOS simulator with no crash. Walk through every flow above and fix anything broken.More templates
All templates- View template

TikTok clone
iOSSwipeable full-screen video feed, double-tap likes, comments, share sheet, profiles and recording.
- View template

Netflix clone
iOSProfile picker, hero billboard, Top 10 rows, title pages with trailers, full-screen player and My List.
- View template

Instagram clone
iOSPhoto feed, stories, double-tap likes, comments, explore grid, DMs and profiles.
- View template

Uber clone
iOSMap with moving cars, destination search, ride options, driver matching, live trip and rating.





