Airbnb clone
Nestly · Booking marketplace template
A working Airbnb-style iPhone app in Swift, running on sample data. Category browsing, map view, date and guest search, listing pages, checkout, wishlists and trips.
- 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
- Explore by category
- Listing cards
- Map view
- Search
- Listing page
- Booking checkout
- Wishlists
- Trips and inbox
About this template
An Airbnb clone is a two-sided booking marketplace: guests search by place, dates and guest count, and hosts list stays with calendars and prices. The guest side is what people see first, and it is where a template saves the most time. Vibecode's template, Nestly, is the full guest app (categories, map, search, listing pages, checkout, wishlists, trips and host messages) as a native iPhone app written in Swift, on sample data. Remix it and add hosts, real availability and payments by chatting.
How to use it
- 1
Remix the template
Open the Nestly 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 Pitchup, list campsites instead of homes, and add filters for pets, hookups and fire pits.” 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
Explore by category
Scrolling category bar (cabins, beachfront, treehouses) that swaps listings with a fade.
Listing cards
Swipeable photo carousels, Guest favorite badges, ratings, dates and nightly and total prices.
Map view
Price pills on an Apple Maps view; tapping one highlights it and slides up that stay's card.
Search
Three steps: where, a date-range calendar, and steppers for adults, children, infants and pets.
Listing page
Photo header, host profile, highlights, amenities, reviews with a rating breakdown, location and house rules.
Booking checkout
Editable dates and guests, nightly price breakdown with fees and taxes, then a confirmation screen.
Wishlists
Hearts save stays to a wishlist that updates live.
Trips and inbox
Upcoming and past trips, plus message threads with hosts.
Add next, with one prompt each
Host side. Create listings, upload photos, set prices and block dates.
Real availability. A calendar per listing that prevents double bookings.
Payments and payouts. Charge guests, hold funds and pay hosts after check-in.
Reviews after a stay. Guest and host review each other once the trip ends.
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 · 731 words
Build a polished, fully working native iOS app in SwiftUI named Nestly: an original vacation-rental booking app that recreates the core experience of Airbnb, but with its own name, its own original logo and its own color palette. Do NOT use the Airbnb name, logo, wordmark, app icon or any trademarked asset anywhere in the app. Design an original Nestly logo mark, drawn with SwiftUI shapes (Path/Canvas) or made as a generated image asset, and use it in the header.
Screens and flows (bottom tabs: Explore, Wishlists, Trips, Inbox, Profile; light theme, your own accent color for primary buttons):
1. Explore: a floating search pill "Where to?" with "Anywhere · Any week · Add guests", a horizontally scrolling category bar with icons and labels (Beachfront, Cabins, Amazing views, Tiny homes, Treehouses, Lakefront, Countryside, Design, Castles) with an animated underline; switching category swaps the listings with a fade. Listing cards: full-width photo carousel (swipe, page dots, 4-5 photos per stay), heart button that toggles into a Wishlist with a toast, "Guest favorite" badge on some, title like "Cabin in Big Bear Lake, California", "Hosted by Elena", dates "Nov 3 – 8", "$248 night · $1,240 total", rating "4.96". At least 14 stays across categories.
2. Map: a floating "Map" button switches to a SwiftUI MapKit Map (no location permission) with price-pill annotations at each stay's fixture coordinate; tapping a pill highlights it and slides up that listing's card; "List" switches back.
3. Search: tapping the pill opens a full-screen modal with three steps: Where (search input and suggested destinations), When (calendar to pick a date range with highlighted range), Who (Adults, Children, Infants, Pets steppers). "Search" filters results and updates the pill text.
4. Listing detail: photo carousel header with back, share and heart, title, "Entire cabin · 4 guests · 2 bedrooms · 3 beds · 2 baths", rating and reviews count, host row (photo, "Hosted by Elena · Superhost · 6 years hosting"), 3 highlights, description with "Show more", "What this place offers" amenities, reviews carousel with a rating breakdown, a small non-interactive MapKit location map, house rules. Sticky bottom bar with price, dates and a "Reserve" button.
5. Booking: "Reserve" opens "Confirm and pay": trip dates and guests (editable), price breakdown ($248 x 5 nights, cleaning fee, service fee, taxes, total), payment method "Visa •••• 4242", "Confirm and pay" with a short processing state, then a "You're going to Big Bear Lake!" success screen with a celebration animation; the trip shows up in Trips.
6. Wishlists: grid of saved stays (updates live from hearts). Trips: upcoming and past trips with photos and dates. Inbox: host messages; open a thread and send. Profile: avatar, "Show profile", settings rows.
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 Airbnb 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

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

Cash App clone
iOSBig-number pay pad, pay and request flows, balance, debit card, investing charts and activity.
- View template

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

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





