Trial · E chosen Oct 26

A sitter's Home before the first booking첫 예약 전 시터의 홈

Today a new sitter lands on a weather emoji and "No pets in your care today". This Home turns the wait into getting booked: the search card owners will see fills in at the top, a paw trail turns each finished step into a coin, and one button always opens the next missing step. Each step opens the app's real screen, rebuilt here from the code on main: the nine setup questions (with voice), Profile, and Schedule with its Weekly rules. Every size, color and font comes from the app's tokens or an existing component; the audit is under the phones.지금 새 시터는 날씨 이모지와 "오늘 돌보는 펫이 없어요"만 봐요. 이 홈은 기다림을 예약 준비로 바꿔요: 위에는 보호자가 검색에서 볼 카드가 채워지고, 발자국 길은 끝낸 단계마다 코인이 되며, 버튼 하나가 늘 다음 빠진 단계를 열어요. 각 단계는 main 코드에서 다시 만든 앱의 실제 화면을 열어요: 아홉 개의 설정 질문(음성 포함), 프로필, 주간 규칙이 있는 일정. 모든 크기, 색, 글꼴은 앱의 토큰이나 기존 컴포넌트에서 왔어요; 점검표는 폰 아래에 있어요.

Today지금

From the code on main: one empty state and one button to the schedule.main 코드 기준: 빈 화면 하나와 일정으로 가는 버튼 하나.

Before the first booking첫 예약 전

When bookings come in예약이 들어오면

How it works어떻게 동작하나

1Five real steps실제 다섯 단계Answers (the setup questions), Photos and About you (Profile), When you can host (Schedule), House rules and a meeting spot (Profile), Visitor parking and lobby notes (Profile). Auto-send is a bonus and opens Profile's AI replies with its real consent sheet.답변(설정 질문), 사진과 소개(프로필), 가능한 시간(일정), 하우스 룰과 만날 장소(프로필), 방문 주차와 로비 메모(프로필). 자동 보내기는 보너스로, 프로필의 AI 답장과 실제 동의 시트를 열어요.
2Done means saved저장해야 완료A coin lands only when the fields the app stores are filled: Finish on the questions, a photo plus About you, Apply or Save on the schedule, rules plus one spot, parking plus lobby. Skip all for now leaves the step open.앱이 저장하는 칸이 채워져야 코인이 생겨요: 질문의 Finish, 사진과 소개, 일정의 Apply 또는 Save, 룰과 장소 하나, 주차와 로비. "나중에 하기"는 단계를 열어둬요.
3The trail with bookings예약 후의 길When requests come in, the same trail becomes the stay's five stages: Ask, Meet, Book, Care, Home.요청이 오면 같은 길이 머무름의 다섯 단계가 돼요.
Still open남은 결정Rates: no screen sets a nightly rate yet (#193), so the search card shows no price, as the app does when it has none. A rate step joins the trail once that screen exists. Also: ship before the Oct 28 freeze, or after? Where the pet room goes once the tamagotchi visuals land.요금: 아직 1박 요금을 정하는 화면이 없어서(#193) 검색 카드에 가격이 없어요(앱도 요금이 없으면 그렇게 보여요). 그 화면이 생기면 요금 단계가 길에 들어가요. 그리고: 10/28 동결 전, 후? 다마고치 비주얼이 정해지면 펫 방은 어디에.

Tokens and components토큰과 컴포넌트

Every part of the phones and the screens they open, the app component it is, and where its numbers come from. Only two parts are new (the trail and its mini version); everything else is a component that already ships. Values outside the token scale are listed with the component or Figma frame that sets them, the same way the app marks them tokens-ok.폰과 그 폰이 여는 화면의 모든 부분, 그것이 어떤 앱 컴포넌트인지, 숫자가 어디서 왔는지. 새로 만드는 건 두 가지(발자국 길과 그 미니 버전)뿐이고 나머지는 이미 있는 컴포넌트예요. 토큰 밖의 값은 그 값을 정한 컴포넌트나 피그마 프레임과 함께 적었어요(앱의 tokens-ok와 같은 방식).

PartComponentValuesOutside the scale, and why
Headerapp RoleTabs header · Avatartitle fontSize.title/30 display · "Sam · Sitter" small/20 semibold muted · bell icon.sm in a 44 target · Avatar 40 (its default)none
"Owners will see"app Kicker (Home) · TagHOME_TEXT.kicker 11/14 caps · Tag success: small/20, xs×sm, pill11 is HOME_TEXT.kicker (Figma Home label)
The card owners seeapp SitterResultCardAvatar 52 · name body bold · facts small muted · "Free…" caption on successSurface · price option display + "per night" caption · radius xl, md padding and gapAvatar 52 and the pill's 2 px padding are SitterResultCard's own
Paw trailnew StageTrailmint block, radius xl · stops = layout.touchTarget 44 · glyphs icon.sm · labels caption pills, xs from the stop · paw icon.sm · halo xs in gold · trees and house icon.md · ground = the Welcome hero's (primary at 16%)height 120 and the path's points are artwork (like the pixel pets, which the token check skips) · coin 36 fills the 44 stop inside its 2 px ring
Next stepapp ListRow54 min, 13×md padding, title 15/21, subtitle 12.5/17.5, tile 44 radius md in the step's block color, glyph icon.sm15, 12.5, 54 and 13 are ListRow's (Figma Settings list) = HOME_TEXT.row / .body
Pinned buttonapp Button in Screen footerExpressive: 52 tall, pill, body bold; secondary = 2 px ink outlinenone
You're readyapp Cardtitle section/26 display · text small/20 · number badges lineHeight.lead 24, caption boldnone
Requestapp Card · Avatar · Tag brand · MessageBubbleAvatar 40 · Tag brand (accent/primary) · bubble 12×14, radius lg with a 4 px tail, body/2312×14 and 23 are MessageBubble's (Figma Message Bubble)
Stay ticketapp BookingTicket · SummaryRowbutter block · kicker 11 · pets HOME_TEXT.name 17 display · dates HOME_TEXT.date 34 display · rows small/20radius 28, 17 and 34 are BookingTicket's on main (Figma Bookings)
Your card is live · petsapp ListRow · Avatar · TextButtonas ListRow above; Edit = TextButton, 44 targetnone beyond ListRow
Today's careapp CheckRow44 min, check icon.sm, label small/20, time 12.5 muted12.5 = HOME_TEXT.body
Requests · Upcomingapp SectionTitle · ListRow · new mini StageTrailtitle section display · rows as ListRow · five dots 16, xs apartdot 16 = sm × 2, coin 12 inside it
Setup questionsapp StepFrame · BigOption · BigInput · VoiceStep · Buttonlogo 28 · Back icon.md in 44 · progress track 8, pill · question 28/36 display bold · hint lead muted · options 64 min, 2 px border, label option 20/26, check icon.md · Skip pinned under Next28/36, 64 and the 8 track are StepFrame's and BigOption's own; the mic is VoiceStep's 88
Profileapp Stack header · ProfilePhotoGallery · TextField · Collapsible · CheckRow · SegmentedControl · Sheetgroups in the app's order; closed Collapsible shows its value in small muted, chevron 20 · Save pinned · "Turn on auto-send?" consent sheetchevron 20 is Collapsible's
Scheduleapp SlotCalendar · Card · ClosingRulesSheet · ScheduleSheetday 44 min, three slot dots xs (open success, closed track) · Weekly rules: 7 × 3 cells 44 tall, closed = ink with an x · Open or block: Open / Block, three slot CheckRowsthe rules grid's 72 label column is drawn here; the app sizes it from its row labels
Tab barapp RoleTabslayout.tabBarHeight 60 · icon.sm · label 11.5/16 bold11.5/16 is RoleTabs' tabBarLabelStyle
Toastapp ToastProviderprimary, radius lg, sm×md, small semibold; sits above the footernone
Status bar, bezelframe phone frame12 × 22, 13 px, 10 px bezelthe desktop phone frame, not the app

Motion: motion.base 240 ms for the coin pop, the paw and the toast; the coin pops inside its stop so nothing shifts. Scrolling: each phone keeps its place when you tap, never scrolls the page behind it, and only scrolls when a state truly has more to show (All set, Busy week).모션: 코인 팝, 발자국, 토스트 모두 motion.base 240ms; 코인은 정류장 안에서 튀어 아무것도 밀리지 않아요. 스크롤: 눌러도 위치가 그대로, 뒤의 페이지를 끌고 가지 않고, 정말 더 보여줄 게 있는 상태(다 됨, 바쁜 주)에서만 스크롤돼요.