Describe a rental marketplace and Fastshot builds it: listings with photos, a search, date-range bookings, host and guest messaging and reviews. Real React Native code for iOS and Android, first version in about 5 to 7 minutes.
Describe two roles, host and guest, and the loop between them: a listing, a booking request for a date range, a conversation and a review. Fastshot (fastshot.ai) turns that into a React Native app for iOS and Android with listings, bookings and reviews tables in Supabase and photos in image storage. Start with one kind of stay, such as chalets, and grow from there.
Last updated: November 4, 2026
Airbnb lets hosts list homes, Experiences and Services, and lets guests book them. The company says it has more than 5 million hosts and more than 2 billion guest arrivals. Trust is the product: it verifies the identities of hosts and guests who book, checks listings and gives both sides a secure message thread.
Reviews work in both directions. On checkout day the guest and the host are each asked for a review, and each has 14 days to write it. Reviews go live once both are in or the 14 days end, so neither side can react to the other. A listing shows its average rating once it has at least three reviews.
For a clone, the loop matters more than the scale: a host creates a listing, a guest finds it and requests dates, they talk, the stay happens and both leave a review. Build that loop for one kind of stay and you have a working marketplace.
The original behavior, the screen that delivers it in your app and the table or bucket behind it.
| Airbnb feature | How it ships in your app | What it stores |
|---|---|---|
| Search by place, dates and guests | Search screen with a city field, a date-range picker and a guest counter that filters the listing cards | listings: host_id, title, city, nightly_rate, max_guests, latitude, longitude |
| Listing photo gallery | Swipeable gallery at the top of the Listing Detail screen | listing_photos: listing_id, path, position; image bucket listing-photos |
| Request or reserve dates | Booking sheet with check-in and check-out and a Request to Book button | bookings: listing_id, guest_id, check_in, check_out, status |
| Host a home | Host tab with Add Listing, a calendar of stays and a request inbox with Confirm and Decline | The same listings and bookings tables, filtered by host_id |
| Secure host and guest messages | Inbox and Conversation screens with live delivery | threads and messages: booking_id, sender_id, body, created_at |
| Two-way reviews after checkout | Review screen that unlocks after the check-out date; both reviews appear together | reviews: booking_id, author_id, stars, body, published_at |
| Trusted profiles | Profile screen with photo, bio and a verified badge that an admin screen can switch on | profiles: full_name, avatar_path, verified_at |
| Map of stays | Map tab with a pin for each listing | listings.latitude and listings.longitude |
Fastshot proposes this list as the plan, and you approve or trim it before the build starts.
Listing cards with a cover photo, nightly rate and rating, plus a city and date search at the top.
Photo gallery, description, amenities, host card, reviews and a sticky Request to Book bar.
Date-range calendar that greys out dates already taken, a guest counter and a summary of the stay.
Upcoming and past stays for a guest, with status chips for requested, confirmed and declined.
Your listings, an availability calendar and a queue of requests to confirm or decline.
A step-by-step form with title, location, amenities, rate and multi-photo upload.
One thread per booking, delivered live to host and guest.
Stars and a note, available after check-out and hidden until the other side has written theirs.
It builds an original stay-booking app called Nestly. Swap in your own name and the type of property you want to list.
Build a stay-booking marketplace app called Nestly for iOS and Android. It connects hosts who list a property with guests who book it. Warm sand background, deep teal buttons, large photos.
Auth: Supabase with email, Google and Apple. Every user can act as a guest; a Become a Host button turns on the Host tab.
Guest screens: Explore (city search, date range, guest count, listing cards), Listing Detail (photo gallery, description, amenities, host card, reviews, Request to Book), Map (a pin per listing), Trips, Messages, Profile.
Host screens: Dashboard (my listings, calendar, booking requests with Confirm and Decline), Add Listing (title, city, nightly_rate, max_guests, amenities, latitude and longitude, up to 8 photos).
Tables: profiles, listings, listing_photos, bookings (listing_id, guest_id, check_in, check_out, status requested/confirmed/declined/cancelled), threads, messages, reviews (booking_id, author_id, stars, body, published_at).
Rules: the database must reject a booking whose dates overlap a confirmed booking on the same listing. A review unlocks after check_out. Both reviews of a booking get published_at when both exist, or 14 days after check_out.
Store photos in a listing-photos image bucket. Turn on realtime for messages and bookings. Row level security: hosts edit only their listings; guests see only their own bookings.
Notify a host of a new request and a guest when the host confirms.Decide whether Nestly lists villas, chalets, campsites or rooms. The type decides the amenities list and the search filters. Put that choice into the first line of the prompt before you paste it.
Fastshot asks one or two questions, such as whether guests book instantly or need host approval. The prompt above uses approval, so answer that the host confirms each request.
Connect Supabase from the chat. Then create two accounts, make one a host and add a listing with three photos from your phone library.
In Expo Go, sign in as the guest, pick dates and request the stay. Switch to the host account, confirm it and send a message. Try to book the same dates again to see the overlap rule reject it.
Ask for the Map tab with a pin for each listing. Set the check-out date to yesterday on a test booking to see the Write a Review screen unlock. The backend lesson explains the tables you just used.
Ask Fastshot for an icon and a store description, then build and send the app to TestFlight and Google Play with your own accounts.
A global marketplace needs supply in every city, which a new app cannot match. A niche app needs supply in one place. Think of chalets in one country, villas on one island, pet-friendly cabins, houseboats, campsites, student rooms near a campus or farm stays. The community apps on Fastshot for villas and chalets show how small and focused these can be.
If you own the property yourself, drop the marketplace. Build a single-property booking app for your guesthouse with a date-range calendar and a request form. It needs far fewer screens, and the booking app builder pattern covers that case directly.
Then add what your guests ask for: a house manual and Wi-Fi details that unlock after confirmation, local tips in a short guide, or a language switch. Name the app after your region, not after the original.
Published community apps for reserving stays. Open one to see the screens.
A booking app for one luxury villa, where guests reserve by the day, night or week. See Villabook in the gallery.
A hotel app with photo galleries, live reservations and an admin dashboard for staff. See Grandstay in the gallery.
A chalet booking app for Qatar, planned in Arabic and English. See Ejazatigo in the gallery.
You need listings with photos, a search by place and dates, a booking record for each stay, messaging between host and guest, and reviews. Fastshot builds all five from one prompt and stores them in Supabase. You supply the niche and the cities.
Ask the prompt for a rule that rejects a new booking when its dates overlap a confirmed one for the same listing. Fastshot writes that rule into the database, so the check holds even if two guests tap Book at the same second. The host then confirms or declines each request.
Yes. The Add Listing screen uses the image picker and saves each photo to a listing-photos bucket, with a position number for the order. Images up to 10 MB each are accepted by default, which suits phone camera photos.
Airbnb asks both sides to review on checkout day and publishes the reviews once both have written one or 14 days have passed. Your app can copy this with a published_at column on the reviews table. Neither party can see the other review before then, which keeps feedback honest.
Yes. Add latitude and longitude columns to listings and ask for a map tab built on react-native-maps with a pin for each stay. Tapping a pin opens the listing. Test the map on your phone in Expo Go for the full effect.
A niche usually wins. One owner with one villa, a set of chalets in one country or campsites in one region needs far fewer screens than a global marketplace. You can still add more property types later through chat.
Yes, after you add your Apple Developer account ($99 a year) and Google Play account ($25 one-time). Fastshot builds the files and uploads them for you. Read the Apple Developer account guide before you start the iOS side.
The stack behind every Fastshot app and what you can export from it.
Itineraries, saved places and trip notes to pair with your stays.
The listing, seller and buyer pattern for goods instead of stays.
Another two-sided app, with requests and live status instead of dates.
Native Development
Native Development
Native Development
Paste the prompt, add a test listing and book it from a second account.