Project · Clone of Airbnb
Staybnb
A 6-part build: a spec, 3 milestone guides, 1 AI checkpoint, and a defend-your-code rubric. You build it in Xcode on a Mac; each guide walks the exact Swift 6 patterns.
The spec
Milestones
3 steps · 275 min total- 1Staybnb M1 — the map and listing annotations55 minRender a SwiftUI Map with custom annotations for listings · Build the listing cards, detail, and a derived-price booking flow
- 2Staybnb M2 — filtering and search60 minModel filters as a value type separate from the view · Compose predicates as pure functions and apply them off the render path
- 3Staybnb M3 — iPad split view and edge functions70 minBuild a three-column NavigationSplitView that adapts to iPhone · Keep selection in sync across list, detail, and map panes
AI checkpoints
Review the diff, then grade your fixAI checkpoint — review before you acceptStaybnb checkpoint — the pathological re-render
@MainActor
@Observable
final class ResultsModel {
var searchText = ""
var allListings: [Listing] = []
}
struct ResultsView: View {
@State private var model = ResultsModel()
// "Computed for convenience" — filter + sort, read from body.
var visibleListings: [Listing] {
… 15 more lines — download or open to review in full