YouTube2Text

Designing + Vibe Coding an iOS App Live (Claude Code) — Transcript

by Cecilia Kim · 6,697 words · 990 segments · language en · Watch on YouTube

Full transcript

  1. 0:00So, I'm trying something completely
  2. 0:01different with this video. Instead of my
  3. 0:02usual format where I walk you through
  4. 0:04the process after the fact, I'm going to
  5. 0:05design and code a brand new feature for
  6. 0:07my wedding app live. You're going to see
  7. 0:09the full thing, the research, the design
  8. 0:11decisions, the vibe coding, all of it
  9. 0:12happening in real time. If you've seen
  10. 0:14any of my past videos, you know I've
  11. 0:15been working on this app called Olwa,
  12. 0:16which stands for Our Little Wedding App.
  13. 0:18I covered the full design process in one
  14. 0:20video and the prototyping process in
  15. 0:21another one, but I recently realized
  16. 0:23that we were missing one of the main
  17. 0:24features of any wedding invite app,
  18. 0:26which is the actual RSVP. So, today
  19. 0:28we're designing and building it from
  20. 0:29scratch. [music] By the way, this video
  21. 0:30is not sponsored. It's just me and my
  22. 0:32tools and a feature that needs to exist.
  23. 0:34So, before we jump in, let me quickly
  24. 0:35show you where we're at with the app
  25. 0:36right now, just so you have some
  26. 0:37context. So, [music] in order to get to
  27. 0:39the app, you press on this app icon, and
  28. 0:42this is the main invite screen, and you
  29. 0:43can see all the little doodles here.
  30. 0:45They're moving around with fun
  31. 0:46animations, and they change sizes
  32. 0:48depending on the scroll. Once you click
  33. 0:49on the invite here,
  34. 0:51>> [music]
  35. 0:51>> it takes you to the details page of a
  36. 0:52particular wedding, so you can see all
  37. 0:54the details here, and you can also see
  38. 0:55the animations for the button, [music]
  39. 0:57and once you hit enter,
  40. 0:59it goes to the next screen, and this is
  41. 1:01basically the menu. You can [music] see
  42. 1:03all the little icons shimmying on the
  43. 1:05screen just to add a little bit of
  44. 1:06flair. And currently, I have the day-of
  45. 1:08schedule prototyped out, so if we click
  46. 1:10on that one, we can see the schedule
  47. 1:12here,
  48. 1:13>> [music]
  49. 1:13>> and this top schedule moves with the
  50. 1:16scroll.
  51. 1:17>> [music]
  52. 1:18>> Once you go back, I've also prototyped
  53. 1:20out this gallery
  54. 1:21just to add some photos of a wedding.
  55. 1:23You can add some from your camera roll,
  56. 1:25and you can delete as many as you want,
  57. 1:27and this is like a live photo wall for a
  58. 1:29wedding.
  59. 1:30>> [music]
  60. 1:30>> So, back on this menu screen, you can
  61. 1:32see that there's no option to RSVP for
  62. 1:34the wedding. So, it will live on this
  63. 1:35screen towards the top, probably, just
  64. 1:37to grab the user's [music] attention,
  65. 1:38and once the user has finished RSVPing,
  66. 1:40the messaging at the top will change.
  67. 1:42Now, here are the goals to make this
  68. 1:44RSVP process different than anything
  69. 1:45else out there. One, we're designing
  70. 1:47this as a mini onboarding experience,
  71. 1:49not just [music] a boring form. Number
  72. 1:50two, each question gets its own screen
  73. 1:52so that it reduces cognitive load.
  74. 1:54Number three, it keeps our existing
  75. 1:55scrapbook aesthetic with illustrations
  76. 1:57and animations throughout. [music] And
  77. 1:58number four, the whole thing should be
  78. 2:00fun and playful like you're flipping
  79. 2:01through a little book instead of filling
  80. 2:03[music] out paperwork. All right, so
  81. 2:04let's get started with the research.
  82. 2:08>> [music]
  83. 2:09>> All right, so let's get started
  84. 2:10researching what RSVPs actually need in
  85. 2:12a form. Let's look up wedding RSVP
  86. 2:15[music] forms. Just scrolling through,
  87. 2:18we can see one from The Knot.
  88. 2:20So, in general, they're saying that we
  89. 2:22need to know if they're attending, how
  90. 2:23many seats, the meal selection, and a
  91. 2:26lot more down here. On withjoy.com, they
  92. 2:29have 25 must-ask questions. [music]
  93. 2:31And they have something about a
  94. 2:32deadline. Again, there's the guest count
  95. 2:34and a lot more like accommodations and
  96. 2:37transportation. If we go to a different
  97. 2:39one, I like this one cuz it says it's
  98. 2:41based off of real data. So, it says
  99. 2:43[music] the key takeaways is the food
  100. 2:44dominates. Four questions is enough, so
  101. 2:46not too many. Keep in mind accessibility
  102. 2:49and engagement questions like song
  103. 2:50requests and messages really build
  104. 2:52excitement. So, [music] based on what
  105. 2:53I'm seeing across all of these, the
  106. 2:55essential questions keep coming up over
  107. 2:56and over. And it looks like the ideal
  108. 2:58RSVP should [music] take under 2 minutes
  109. 3:00for the guest to complete. So, with this
  110. 3:02in mind, I want to write down everything
  111. 3:05to include in our RSVP flow in Figma.
  112. 3:07And now, let's look at some competitors
  113. 3:09that I mentioned in my past videos.
  114. 3:10[music] One includes Partiful RSVP.
  115. 3:15So, for Partiful, we can see that it is
  116. 3:16very minimal. Guests tap going, maybe,
  117. 3:18or can't go, and they can verify with
  118. 3:21their [music] phone number, and they're
  119. 3:22pretty much done. It shows social proof
  120. 3:24for who else is attending, and it works
  121. 3:25for casual events, but it's way too
  122. 3:26simple for weddings since there's no
  123. 3:28questions about meals or a multi-step
  124. 3:29flow. The other competitor that I
  125. 3:31mentioned is called Luma. [music] So,
  126. 3:32for Luma, the name and email is
  127. 3:34required, and the host can add some
  128. 3:35custom questions, but there's no
  129. 3:37conditional logic or branching, and it's
  130. 3:39more of a registration form than an
  131. 3:40experience. So, what I'm realizing is
  132. 3:42that none of these are designed
  133. 3:43specifically for weddings. And Partiful
  134. 3:46is great for parties, but a wedding RSVP
  135. 3:48needs way more info. And the actual
  136. 3:49wedding platforms [music] like The Knot
  137. 3:51and Joy are functional, but they feel
  138. 3:52like filling out like a government form.
  139. 3:54So, there's a real opportunity here to
  140. 3:56make RSVPing actually feel fun [music]
  141. 3:58and on brand. All right, so now let's go
  142. 4:00to my favorite step, which is going on
  143. 4:02Mobbin. And here is the first place I
  144. 4:03look for you for [music] UX and UI
  145. 4:05inspiration. So, for now, let's look up
  146. 4:08RSVP [music] and see some iOS mobile
  147. 4:10screens. Like I said, if I see anything
  148. 4:12that I like, like this one, such as
  149. 4:14information here, I will screenshot.
  150. 4:17Or you can also copy, go to Figma, and
  151. 4:20paste. And it'll show you exactly where
  152. 4:22it came [music] from. So, here it says
  153. 4:23BFF. Or you can just drag in your
  154. 4:25screenshot cuz I'm using Clean Studio.
  155. 4:27Here's another [music] screen that I
  156. 4:28like. Let's keep looking.
  157. 4:31I like the way that this confirmation
  158. 4:33screen looks, so I'll take a screenshot
  159. 4:35[music] of that as well.
  160. 4:37And I like the gradients and the soft
  161. 4:39corners and shadows of this screen.
  162. 4:41[music]
  163. 4:42So, I'll keep that one, and let me drag
  164. 4:44those into Figma.
  165. 4:48Now, let's try event registration,
  166. 4:51and automatically change the screen type
  167. 4:53[music] to event detail, which is great.
  168. 4:55I like this one where it has a large
  169. 4:56image at the top, so I'll keep this one
  170. 4:59for my mood board. Same thing [music]
  171. 5:00with this one, I like the imagery at the
  172. 5:03top. Here's one with great information,
  173. 5:06and again,
  174. 5:07I'm just looking through. I don't want
  175. 5:08to spend too much time doing this
  176. 5:09because it can really be a time sink.
  177. 5:11I'll [music] just do two more.
  178. 5:13Maybe three more.
  179. 5:16So, now I'm going to look up survey just
  180. 5:18to see if they have anything as well,
  181. 5:20[music] since we will be asking survey
  182. 5:22type questions in our flow.
  183. 5:25I like the vibes of this one, the soft
  184. 5:27gradients.
  185. 5:28>> [music]
  186. 5:29>> I like the way that this one has the
  187. 5:31gradients as well, and how it's easy to
  188. 5:33look at all of the information. The icon
  189. 5:35use here is really great, too. And let's
  190. 5:37also try
  191. 5:39multi-step form. These look pretty
  192. 5:41similar to the survey search results. I
  193. 5:44do like this one where it has a huge
  194. 5:46illustration at the top and the [music]
  195. 5:47progress bar at the top as well. Same
  196. 5:49thing with this Walmart screen. So, now
  197. 5:51let's drag all of that into Figma.
  198. 5:55And again, you guys know that I do go on
  199. 5:57a screenshot [music] frenzy. I usually
  200. 5:58do a lot more than this. Like as you can
  201. 6:00see from my past designs, there's a lot.
  202. 6:03But I wanted to keep it a little bit
  203. 6:05more simpler since we already have a
  204. 6:06design language in mind. Now, let's go
  205. 6:08to Pinterest and [music] see wedding
  206. 6:11RSVP card design just to see what it
  207. 6:13looks like on a physical invite. [music]
  208. 6:16So, this one looks great. I also like
  209. 6:18the colors and the simplicity of these.
  210. 6:21Ooh, I like the shape of this one. I
  211. 6:24also like the illustrations in this one.
  212. 6:29And let's grab [music] those and pull
  213. 6:31those into Figma as well.
  214. 6:33Let's also type in scrapbook invitations
  215. 6:36since our design style is scrapbooking.
  216. 6:38It actually looks pretty similar [music]
  217. 6:40to what we had before. I like the
  218. 6:42multiple aspects of this one. This one's
  219. 6:44[music] a huge trending one right now
  220. 6:46and I thought this was very cute. And I
  221. 6:47really like things that feel very
  222. 6:49tactile. You can see the [music] paper.
  223. 6:51You can see elements like the wax seal.
  224. 6:53It all feels very physical and intimate.
  225. 6:55So, [music] normally I would go on a
  226. 6:57longer screenshot frenzy, but I will be
  227. 7:00cutting it off a little bit earlier
  228. 7:01right now.
  229. 7:03>> [music]
  230. 7:05>> All right. So, these are just to keep in
  231. 7:06mind in case we need it later for any
  232. 7:08screenshots [music]
  233. 7:09and reference photos while we're vibe
  234. 7:11coding. So, what I want to keep in mind
  235. 7:12is the UX. [music] So, things like
  236. 7:14progress indicators and for that one you
  237. 7:16can see it here and seeing how other
  238. 7:19apps show a multi-step flow. There's
  239. 7:20also card style selections. [music]
  240. 7:22There's radio buttons and there's pills.
  241. 7:25And I want to see which one feels more
  242. 7:26tappable and engaging. There are the
  243. 7:28illustration heavy screens, especially
  244. 7:29[music]
  245. 7:30the confirmation screens just to see how
  246. 7:32an app celebrates after you finish a
  247. 7:34flow. We also want to keep in mind in
  248. 7:36general other UX patterns such as skip
  249. 7:38buttons and optional question handling,
  250. 7:40any sticky footers [music]
  251. 7:41with any next and continue buttons like
  252. 7:43we see here. Also, I know these are
  253. 7:45screenshots, but we also want to keep in
  254. 7:47mind interactions and animations. Now,
  255. 7:48let's [music] look at some stuff for the
  256. 7:50RSVP banner and go back on Mobbin to
  257. 7:52look up inner, which is a common UI
  258. 7:55element. So, this is a good example of a
  259. 7:57banner, and [music] let's take some more
  260. 7:59screenshots.
  261. 8:00Here's another banner,
  262. 8:02which I like because it's very
  263. 8:03prominent.
  264. 8:05This one is full screen, which is
  265. 8:06different than the usual cards that we
  266. 8:08see. I like this dark mode version as
  267. 8:10well. There's a lot of [music] contrast,
  268. 8:11so banners need to be very evident and
  269. 8:13easily findable. So, yeah, I think we
  270. 8:15have some good options here. I usually
  271. 8:17organize them at the very end [music]
  272. 8:18just so that I don't lose the flow of
  273. 8:20getting all my screenshots at once. So,
  274. 8:22some different options that we have for
  275. 8:23the menu screen is the inline card
  276. 8:25approach like this one, where it's a
  277. 8:27card that sits at the top of the menu
  278. 8:28screen, and it blends in with the other
  279. 8:30menu items, but it stands out just
  280. 8:31enough to draw attention. Maybe we could
  281. 8:33have a textured [music] paper background
  282. 8:35on envelope icon with text that says
  283. 8:37RSVP to the wedding.
  284. 8:41We could also do a sticky [music] banner
  285. 8:43approach like this one, where there's a
  286. 8:44floating banner at the top that stays
  287. 8:46visible as you scroll. So, this feels
  288. 8:48the most urgent, but it might clash with
  289. 8:50the scrapbook vibe. And my most favorite
  290. 8:52approach is the section approach, where
  291. 8:54I just treat it like another section in
  292. 8:56the menu [music] list, but positioned at
  293. 8:57the very top, and it has the same visual
  294. 8:59language as the other menu items, but it
  295. 9:01might be slightly larger or with a
  296. 9:02subtle animation to draw the eye. So,
  297. 9:04the two states [music] that it
  298. 9:05definitely needs is one, the before
  299. 9:08RSVP, and the second state is after the
  300. 9:11RSVP, indicating whether the user will
  301. 9:12be going or not going. And if we go to
  302. 9:14the menu screen, [music] which is right
  303. 9:16here, since the menu screen already has
  304. 9:18items like registry, gallery, and all
  305. 9:19that stuff, the RSVP card should match
  306. 9:22that visual system, but feel like the
  307. 9:23primary action. I really want to make it
  308. 9:25feel like it's part of the menu, and
  309. 9:27it's not an interruption, but again, I
  310. 9:28still need it to draw attention.
  311. 9:30>> [music]
  312. 9:33>> All right, so now let's set everything
  313. 9:35up. So, today we'll be using Zeplin and
  314. 9:36Cloud Code since that's usually what I
  315. 9:38use for my prototyping. You can also use
  316. 9:39cursor, I recommend that one as well.
  317. 9:41And right now I have C-Max open, [music]
  318. 9:43and I've already navigated into my
  319. 9:45project folder. In here, let's rename
  320. 9:47our workspace [music] to Olwa setup, and
  321. 9:50let's add a few more tabs for the main
  322. 9:53flow,
  323. 9:56menu screen,
  324. 9:59animations,
  325. 10:02and maybe another one for testing on the
  326. 10:04simulator. For the main flow, this is
  327. 10:06where I'll do most of my vibe coding
  328. 10:07[music] for the RSVP flow. For the menu
  329. 10:09screen, this is dedicated to the RSVP
  330. 10:12section, so I can work on it in parallel
  331. 10:14with the flow. Animations, [music] of
  332. 10:15course, is for going back and forth
  333. 10:16tweaking animations and transitions, and
  334. 10:18of course the testing [music] is for the
  335. 10:20simulator and to make sure everything is
  336. 10:21working correctly. All right, so first,
  337. 10:23let's work on the main flow just to get
  338. 10:25everything [music] started. So, I'll say
  339. 10:26Claude, dangerously skip permissions,
  340. 10:30since this is just for prototyping,
  341. 10:32there's no back end involved right now,
  342. 10:33and there's no sensitive data. And let's
  343. 10:35also mention the Chrome flag, just in
  344. 10:37case it wants to pull up references
  345. 10:39live, and that means Claude has access
  346. 10:41to my Chrome browser. And also, let's
  347. 10:43set the effort [music] to ultra code,
  348. 10:45since this one's going to be pretty big
  349. 10:47update for the entire RSVP flow.
  350. 10:50I also want to make sure that the Xcode
  351. 10:51build MCP is connected so that I can see
  352. 10:53the simulator and make sure everything
  353. 10:55[music] is working correctly and I can
  354. 10:56see the results. All right, so for my
  355. 10:58first prompt, I'm going to be using
  356. 11:00Whisper flow, which is what I use to
  357. 11:01dictate everything, since it's a lot
  358. 11:03faster than typing. [music] So, let's
  359. 11:04say, I'm working on a wedding app called
  360. 11:07Olwa. The app already has an invite
  361. 11:08screen, menu screen, [music] and a day
  362. 11:10of schedule screen, and the design
  363. 11:12language uses burgundy and chartreuse as
  364. 11:14the color [music] palette, serif fonts,
  365. 11:16and a very scrapbook aesthetic with
  366. 11:17paper textures, layered elements, soft
  367. 11:19shadows, Polaroid style photos,
  368. 11:21hand-drawn doodles, and a wax seal for
  369. 11:23decorative elements. All of the existing
  370. 11:25screens have animations like shimmying
  371. 11:27doodles, items [music] appearing and
  372. 11:28disappearing on scroll, and playful tilt
  373. 11:30effects on interactive elements. I need
  374. 11:32you to match this exact design language
  375. 11:34for everything that we built today. Next
  376. 11:36after that, I will give it more context
  377. 11:38and say, "We're adding a new RSVP
  378. 11:40feature, so on the menu screen, I need a
  379. 11:42new section at the [music] very top that
  380. 11:44lets the user tap to start the RSVP
  381. 11:46process. The RSVP itself should be a
  382. 11:48multi-step flow like a mini onboarding
  383. 11:50where each question gets its [music] own
  384. 11:52screen. I want it to feel like you're
  385. 11:53flipping through a little book or a
  386. 11:54pamphlet and each transition between
  387. 11:56screens should look like a page turning.
  388. 11:59that we need are a welcome screen to
  389. 12:01start the RSVP, attendance confirmation
  390. 12:03with going, can't go, and maybe options.
  391. 12:05Number three is guest count and a plus
  392. 12:07one name. Number four, meal selection
  393. 12:09with visual cards. Number five, dietary
  394. 12:11restrictions with toggleable tags.
  395. 12:13Number six, [music] song requests. And
  396. 12:15number seven, a confirmation screen that
  397. 12:17summarizes their answers. If a user taps
  398. 12:19cannot go on the attendance screen, skip
  399. 12:20everything and go straight to the
  400. 12:22goodbye screen. For now, don't focus on
  401. 12:23the UI, just focus on getting the flow
  402. 12:26set up. Now, I want to take screenshots
  403. 12:28[music]
  404. 12:28of the current UI so that I can give it
  405. 12:30to Claude code.
  406. 12:35And let me add it to our chat.
  407. 12:38>> [music]
  408. 12:39>> And just for context, I'll say, "Here
  409. 12:40are screenshots of the existing app
  410. 12:42screen so you can match the design
  411. 12:43language exactly. Keep in mind the
  412. 12:45colors, [music] fonts, textures,
  413. 12:46shadows, and the overall scrapbook feel.
  414. 12:48The animations should be playful but not
  415. 12:50overwhelming and every screen should
  416. 12:51feel like it belongs in the same app."
  417. 12:53And press send and let's see what it
  418. 12:56comes [music] up with. I'm just going to
  419. 12:57give it time to do its thing and see
  420. 12:58what it comes up as the first pass. And
  421. 13:00this might take a while, so when we
  422. 13:02[music] come back, I'll continue with
  423. 13:03the live five designing and the five
  424. 13:04coding.
  425. 13:08All right, so now we're back. It's
  426. 13:09actually been 36 minutes [music] and in
  427. 13:11that time, it basically made the entire
  428. 13:13flow. So, it's up here in the simulator.
  429. 13:16We go through the normal flow and this
  430. 13:18is where it's created [music] the entry
  431. 13:19button. I do like the way that it looks.
  432. 13:21It matches the current aesthetic.
  433. 13:23There's a slight shadow to it so it
  434. 13:24looks uplifted [music] so that it's
  435. 13:25slightly more noticeable with the
  436. 13:27envelope here. I do want to make some
  437. 13:28changes and tweaks to the spacing, but
  438. 13:31let's just go through the flow to see
  439. 13:32what it did on the first pass. This is
  440. 13:34the intro screen [music] and this one
  441. 13:36looks good. I might swap out this first
  442. 13:38image for a nice fun illustration.
  443. 13:41I also see that the animation kind of
  444. 13:43goes the opposite direction, so I might
  445. 13:45fix that one and I don't mind these
  446. 13:47cards as well. They match the original
  447. 13:49entry button, so I like that. And I also
  448. 13:50like these icons. It's keeping that same
  449. 13:53green color and the burgundy color,
  450. 13:54which I like.
  451. 13:56Any guests in your party? I like this
  452. 13:58picker, too. Let's add Chris.
  453. 14:00>> [music]
  454. 14:01>> And for the meal, I also like these cute
  455. 14:03icons. Some of them aren't really
  456. 14:05related, but I think I'll go in and
  457. 14:06change those, too. Let me choose this
  458. 14:08one. And I also like this shimmer
  459. 14:10[music] effect down here. That's similar
  460. 14:11to the detail screen.
  461. 14:13Here are some accessible dietary needs.
  462. 14:16Continue and a song down here.
  463. 14:20And here's the confirmation screen. Once
  464. 14:22we send RSVP, [music] it looks like
  465. 14:24there's no second state for this, so
  466. 14:26we'll have to vibe code that in as well.
  467. 14:27But I think that is so great for a first
  468. 14:29pass. That literally took 36 minutes,
  469. 14:32but it [music] would have taken me
  470. 14:33multiple multiple days in order to get
  471. 14:35all of the screens correct, to connect
  472. 14:36all the screens together, do all the
  473. 14:38research, and also make sure all of the
  474. 14:40design and branding is consistent. So
  475. 14:43with this, let's get started working on
  476. 14:45the menu screen. Let's go to the menu
  477. 14:47screen tab. So for this one, let's
  478. 14:49dictate with WhisperFlow again.
  479. 14:52Add 30 pixels between the [music] RSVP
  480. 14:54banner and the schedules title text.
  481. 14:57Also get rid of the rounded corners on
  482. 14:59the banner and make sure that if a user
  483. 15:01says they are attending, we change the
  484. 15:03wording. And if they are not attending,
  485. 15:04we change the wording there, as well.
  486. 15:07>> [music]
  487. 15:08>> Make the green border 1 pixel thicker
  488. 15:10and make the shadow 20% darker.
  489. 15:14>> [music]
  490. 15:14>> I like to use specifics when I'm making
  491. 15:16design changes so that it isn't really
  492. 15:18guessing what I want. I feel like if I
  493. 15:19say, "Oh, add more space between the
  494. 15:21banner and the schedules title," it
  495. 15:23doesn't really know what to do with that
  496. 15:24because it could be 30 pixels versus 100
  497. 15:26pixels. So, I like to be very specific
  498. 15:28in terms of percentages and pixels, and
  499. 15:30I found that that's really helped. For
  500. 15:32the menu screen, I like the rest of it.
  501. 15:33I don't think there's anything else I
  502. 15:35want to do. I got rid of the corners
  503. 15:37because on the day of menu, we don't
  504. 15:38really use rounded corners, and I wanted
  505. 15:40to keep that design language. And
  506. 15:42there's already a slight shimmy effect
  507. 15:43on the envelope here just to grab the
  508. 15:45attention of [music] the user. So, we'll
  509. 15:46be keeping that. Now, let's go to this
  510. 15:48animations tab and let it know that the
  511. 15:50animation is kind of backwards, [music]
  512. 15:52and I might set this effort to ultra
  513. 15:53code as well just because I feel like
  514. 15:56animations need a little bit more higher
  515. 15:58thinking power than just normal code.
  516. 16:01For the book flipping animation between
  517. 16:03each of the RSVP flow screens, it seems
  518. 16:06to be [music] backwards where the next
  519. 16:07screen looks like it's coming down from
  520. 16:09the previous screen. I want it to be
  521. 16:11[music] opposite, like a person opening
  522. 16:12a book page. Can you fix the transition
  523. 16:15animation?
  524. 16:16>> [music]
  525. 16:16>> Great. So, now this will be working on
  526. 16:19the animations, and we'll let that run.
  527. 16:21[music] Now, looking at this menu
  528. 16:22screen, maybe we can use kind of a paper
  529. 16:25texture here to make it look like an
  530. 16:26actual wedding invite. So, let's go to
  531. 16:28Canva to see if we can find some [music]
  532. 16:31assets. So, we've started a new project
  533. 16:33on Canva. Let's go to elements and see
  534. 16:35what we can find. Paper texture.
  535. 16:39Ooh, I really like this one. Maybe we
  536. 16:41can shift it 90°. But, it seems [music]
  537. 16:44a little bit too square for our use
  538. 16:47case. I need something like this size,
  539. 16:49or maybe even this one.
  540. 16:52So, we'll keep [music] this. And next
  541. 16:54for the flow, let's see if we need
  542. 16:56anything else. For the won't you join
  543. 16:58us, let's do [music] some cute
  544. 17:00illustrations.
  545. 17:02Add another page.
  546. 17:05I really like this one. It's very simple
  547. 17:07and cute.
  548. 17:09Once we hit begin, let's add some for
  549. 17:12these icons.
  550. 17:15Um let's do a heart
  551. 17:17sticker.
  552. 17:19And this resembles our menu screen, so I
  553. 17:21wanted to keep that. [music] So, here's
  554. 17:23the heart.
  555. 17:25Let's look for the maybe sticker.
  556. 17:29I like this one.
  557. 17:32And look for a sad sticker for the
  558. 17:35regretfully decline. [music]
  559. 17:38And I like this one. Actually, I like
  560. 17:40the look of this one more.
  561. 17:43Maybe we can add [music] an illustration
  562. 17:45for this one as well. So, let's go back
  563. 17:47to wedding illustrations.
  564. 17:51I love the champagne tower.
  565. 17:54>> [music]
  566. 17:55>> So, there's one illustration, two.
  567. 18:00We can add a simple one like this.
  568. 18:02That's three.
  569. 18:04>> [music]
  570. 18:05>> I also like the candles. That's four.
  571. 18:10Here's a cute [music] cake, and that one
  572. 18:12is six.
  573. 18:15Ooh, I love these ducks, and that's
  574. 18:17seven. And I think [music] that's all we
  575. 18:20need for now. If we go back to our
  576. 18:22simulator, you can see that it's
  577. 18:23testing, [music] especially with the
  578. 18:25animations tab here. I have no idea
  579. 18:27what's going on, but I will let it
  580. 18:28handle it. All right, so I found some
  581. 18:30more assets, like some more
  582. 18:31illustrations, especially for the food
  583. 18:34menu options, and some paper texture
  584. 18:36just to use throughout the app. Because
  585. 18:38keep in mind, we want to make it feel
  586. 18:39like a scrapbook and like you're
  587. 18:40receiving a physical invite. So, I've
  588. 18:42exported all of these. I go to share,
  589. 18:44download. I usually do size two, but
  590. 18:46I'll just keep it one for now, and I
  591. 18:48select all of the pages. I've gone ahead
  592. 18:50and already done this and downloaded
  593. 18:52them here and added them to my Figma.
  594. 18:54So, once I pull them all into my Figma,
  595. 18:56I made sure I cropped them correctly,
  596. 18:57named them correctly, and then export it
  597. 18:59to whatever folder you have all of your
  598. 19:01assets for your app. So, while I was
  599. 19:03doing all of that, I went ahead and
  600. 19:04tried to make some more changes. So,
  601. 19:06here I use this paper background to try
  602. 19:08something new for this RSVP, and it
  603. 19:10doesn't really look great. It might be a
  604. 19:12little bit too dark, so [music] I might
  605. 19:13change the opacity there and maybe add a
  606. 19:15shadow. So, I'll let it know here. The
  607. 19:18background paper texture is a little bit
  608. 19:19too dark, so it's hard to read the text.
  609. 19:21Let's change the opacity of the
  610. 19:22background paper texture to around 50%
  611. 19:25and add a slight subtle shadow behind it
  612. 19:28so that it looks more noticeable.
  613. 19:30Also, for the text that says tap [music]
  614. 19:32to send your reply, use a handwriting
  615. 19:34script font.
  616. 19:36And if I don't like that, I probably
  617. 19:37will just revert to what we already had
  618. 19:39because I did like that. I just wanted
  619. 19:40to see and experiment to see what it
  620. 19:42looked like. Now, let's go back to the
  621. 19:43animations tab, and it looks like it's
  622. 19:45still working. It's been about 22
  623. 19:46minutes. It still did not get the
  624. 19:48animation correctly when I'm moving
  625. 19:49between the screens, [music] so it's
  626. 19:51definitely still working through that.
  627. 19:52Doesn't look like what I want it to.
  628. 19:56I've also added some pagination here as
  629. 19:58well.
  630. 20:01When I gave it the prompt for the
  631. 20:02animation, I said something like for the
  632. 20:04flow, I want the screen's transition to
  633. 20:06look like a page turning in a small book
  634. 20:08or pamphlet, and when the user taps next
  635. 20:10[music] or makes a selection, the
  636. 20:12current screen should flip to the right
  637. 20:14like a book page turning, revealing the
  638. 20:15next question underneath. I want there
  639. 20:17to be a subtle shadow when the page is
  640. 20:19turning to give it a little bit of
  641. 20:20depth, and then add those small dots
  642. 20:21[music] with pagination at the top like
  643. 20:23page two of seven in a handwritten font
  644. 20:25just so that the user knows where they
  645. 20:26are. So, I just talked to Cloud Code
  646. 20:28like a human being and be very specific
  647. 20:30in what I want, especially when it comes
  648. 20:32to animation. All right, so now you can
  649. 20:33see that it's finished the menu screen
  650. 20:35card, and I do like it a lot better
  651. 20:37because of the paper texture. I make
  652. 20:38make a little bit more tweaks because I
  653. 20:40can see a white border right here that I
  654. 20:41don't like, so I'll go ahead and fix
  655. 20:43that.
  656. 20:44There seems to be [music] a white border
  657. 20:46on the right side of the paper
  658. 20:47background texture of the RSVP banner.
  659. 20:50Can you get rid of that? And also, make
  660. 20:52the shadow in the background 20% darker
  661. 20:55so that it's a little bit more
  662. 20:56noticeable. Other than that, it looks
  663. 20:57great.
  664. 20:58I did want to talk about the placement
  665. 21:00of this RSVP banner here. I needed it to
  666. 21:02be at the top like I mentioned before
  667. 21:03because it is the most important action
  668. 21:05that the guest needs to take, in my
  669. 21:06opinion, since it is a wedding invite
  670. 21:08app. And the two states of asking a
  671. 21:10question and then the confirmation of if
  672. 21:12they are going to be there or not is
  673. 21:13important so that the guest feels a
  674. 21:15sense of completion. And if they come
  675. 21:16back to the app later, they should
  676. 21:18instantly see if they've already
  677. 21:19responded. Now, let's look at the
  678. 21:21animation and see if it did it right.
  679. 21:23First screen.
  680. 21:25Let's see what happens if I go
  681. 21:26backwards. [music]
  682. 21:32I see. Okay.
  683. 21:34Okay, so technically the animations are
  684. 21:36correct, but [music] it's flipped. When
  685. 21:37I press the continue button, the
  686. 21:39animation should be what currently
  687. 21:41happens when I hit the back button and
  688. 21:42vice versa. Can you just swap the logic
  689. 21:45[music] for that? Otherwise, it's great.
  690. 21:47Also, get rid of the stack of paper
  691. 21:49picking out on the right side.
  692. 21:52So now on the main flow tab, I also want
  693. 21:53to go ahead and add in the correct
  694. 21:55illustrations. And let me grab those
  695. 21:58illustrations now.
  696. 22:01For each step of the RSVP flow for pages
  697. 22:05one through [music] six, can you add an
  698. 22:07illustration that I've provided at the
  699. 22:10top of the screen, including page one?
  700. 22:12So instead of the image with our names
  701. 22:14on it, put in wedding illustration one.
  702. 22:16And then continue onwards.
  703. 22:20Also, use these for the food images
  704. 22:23instead of the icons.
  705. 22:26And use these as the images for the RSVP
  706. 22:29answer instead of the icons.
  707. 22:33All right, so I think we're at a good
  708. 22:35point now. All of my tabs have [music]
  709. 22:37stopped and completed building
  710. 22:39everything that I've wanted so far. So
  711. 22:41let me just quickly go through [music]
  712. 22:42everything just to make sure everything
  713. 22:44looks okay
  714. 22:46at the moment.
  715. 22:47And I can go through all of these in
  716. 22:48detail [music]
  717. 22:49right now. I actually added this button
  718. 22:51right here just to reset everything
  719. 22:53because as you can see, once we RSVP
  720. 22:55correctly, [music] the messaging changes
  721. 22:57here quickly. So now I can just reset it
  722. 22:59just for debugging and testing purposes.
  723. 23:01So after this, I wanted to go through
  724. 23:02the final build and talk about things
  725. 23:04that I would improve if I had more time.
  726. 23:06I think we're at a really good point
  727. 23:07right now. I still have some things that
  728. 23:08I want to change, but I know I'll be
  729. 23:10here all night. But, it's only been a
  730. 23:11few hours, so I think this is, again, a
  731. 23:13good stopping point.
  732. 23:17>> [music]
  733. 23:18>> All right, so now let's finally test
  734. 23:19this through the simulator and on my
  735. 23:21device. [music] So, one last time, let
  736. 23:23me just say, "Can you rebuild this for
  737. 23:25me so that we can start fresh?"
  738. 23:28>> [music]
  739. 23:29>> And you'll probably see this pop up on a
  740. 23:31new screen.
  741. 23:33Perfect. So, I think we have a new clean
  742. 23:35fresh build now. And if any of you have
  743. 23:37worked with Xcode before, you [music]
  744. 23:38know that doing that regularly really
  745. 23:40helps with making sure everything is
  746. 23:42accurate and works like you [music]
  747. 23:43intended. So, now let's go through the
  748. 23:44flow. This is the existing flow, and
  749. 23:47here we should see the RSVP banner. I
  750. 23:49don't think I have any notes for this
  751. 23:51one. Obviously, [music] if I put this in
  752. 23:52production, I'd get rid of this reset
  753. 23:54button because that's just for testing
  754. 23:55purposes. But, this RSVP banner looks
  755. 23:57great as is. I love that we kept the
  756. 23:59paper texture in the background, similar
  757. 24:01to the screen before with all of these
  758. 24:03different textures. [music] And as I go
  759. 24:04through this final build, I wanted to
  760. 24:06also go over things that I want to
  761. 24:08improve and probably work on
  762. 24:09>> [clears throat]
  763. 24:09>> at a later time. So, once we click in,
  764. 24:11here is page [music] one of seven with
  765. 24:13the pagination up top that I love with a
  766. 24:15huge illustration in the middle and just
  767. 24:17some details here. I think it'd be
  768. 24:18really cute if we had confetti or small
  769. 24:20sparkles floating around once we get
  770. 24:22into this first page. And maybe if we
  771. 24:23had an actual Polaroid photo of me and
  772. 24:25Chris on this [music] screen just to
  773. 24:27make it more personal. Now, let's hit
  774. 24:28begin. I actually really like this
  775. 24:30illustration and I think it's my
  776. 24:31favorite one. Another feedback I have
  777. 24:33for myself is I love drawing and I love
  778. 24:35illustration, so I think I would want to
  779. 24:36make custom illustrations [music] for
  780. 24:38this app. So, instead of the Canva
  781. 24:40assets, I would go in and add my own,
  782. 24:42maybe with a little bit of animation. If
  783. 24:43you've seen my Amy designs, you'd know
  784. 24:45what I'm talking about. Also here,
  785. 24:46[music] I replaced those icons with
  786. 24:48these sticker-like images, which are
  787. 24:49also Canva assets. And I really think it
  788. 24:51changes the whole vibe of the app. By
  789. 24:53including assets like these, it just
  790. 24:54makes it a a more fun, playful, and
  791. 24:56different than what you normally see on
  792. 24:58just AI generated apps. [music] So, here
  793. 25:00I will be joyfully accepting. And again,
  794. 25:02if you look at that page transition, I
  795. 25:05finally got it working where it looks
  796. 25:06like an actual book page. It's not too
  797. 25:09fast, it's not too slow, so I think this
  798. 25:11is perfect. Then for this card, maybe
  799. 25:13for the joyfully accepts, if someone
  800. 25:14clicks on it, it could have a selection
  801. 25:16animation that could trigger a small
  802. 25:18confetti burst just for the [music]
  803. 25:19joyfully accept since it's the response
  804. 25:21that we want. And I chose these cards
  805. 25:23instead of buttons because it feels more
  806. 25:24intentional and premium, and we need
  807. 25:26this branching logic. And if a user says
  808. 25:28regretfully declines, it'll [music] just
  809. 25:29skip right to the end of the flow so
  810. 25:31that we're not asking irrelevant
  811. 25:32questions. So, onto the next screen.
  812. 25:34This is who else is coming, and if you
  813. 25:36go more than one, we'll have another
  814. 25:37field here. So, let's say we say Chris
  815. 25:39is coming. Obviously, I want this
  816. 25:41illustration to be a bit larger and more
  817. 25:43relevant to the screen. [music] So,
  818. 25:44maybe it would be an illustration of
  819. 25:46chairs at a wedding, or maybe a doodle
  820. 25:48illustration of a table. And I also feel
  821. 25:49like the illustrations could have more
  822. 25:51movement, so that could add another
  823. 25:52element of a fun and scrappy [music]
  824. 25:54feel. Next up, let's go to the choosing
  825. 25:56the food meal. Again, this cake image is
  826. 25:59quite small. Maybe I could have used
  827. 26:00that espresso doodle from a past screen,
  828. 26:02but I did replace those [music] icons
  829. 26:04with actual illustrations. Again, these
  830. 26:06are all from Canva, but I do want to
  831. 26:07redo these illustrations myself, and I
  832. 26:09want to make sure that all of these
  833. 26:11illustrations are in the same form of
  834. 26:13art style as all of the illustrations
  835. 26:15throughout the app. So, these
  836. 26:16illustration styles are not [music] the
  837. 26:18same as the ones throughout the app. I
  838. 26:19would have to pick one or two just to
  839. 26:21make sure it's cohesive. Also, we need
  840. 26:22to keep in mind that if there are
  841. 26:23multiple guests, [music] like Chris in
  842. 26:25the screen before, and they would need
  843. 26:27to also be able to choose their meal as
  844. 26:28well. Maybe we would have some
  845. 26:29pagination down here so that you can
  846. 26:31choose which guest is choosing [music]
  847. 26:33which meal. So, for this one, let's go
  848. 26:34with a braised short rib. Oh, and
  849. 26:36another thing to note is probably at the
  850. 26:37bottom, I would add a note that says
  851. 26:39dietary [music] needs are on the next
  852. 26:41page just so that the user knows that if
  853. 26:43we need to know anything about any
  854. 26:44restrictions, it is included in the next
  855. 26:46screen.
  856. 26:47This is the dietary [music] needs
  857. 26:48screen. I do want to include a none pill
  858. 26:51instead of just saying skip just in case
  859. 26:52the user does not read this and also an
  860. 26:54other option so that if [music] a user
  861. 26:56presses other we can have a text field
  862. 26:58down here just in case there's something
  863. 26:59that's not included here and with all of
  864. 27:01that in mind maybe we would also have a
  865. 27:02skip button down here that is visible
  866. 27:05but not too prominent just in case again
  867. 27:07a user feels stuck in this flow.
  868. 27:09Now for the request a song page again I
  869. 27:12would want the illustration to be more
  870. 27:14in line with the screen so maybe we
  871. 27:15could have added that image of a disco
  872. 27:17ball here with some sparkles and
  873. 27:18confetti maybe some small doodle notes
  874. 27:20around here shimmying around and again
  875. 27:22adding that skip button down here just
  876. 27:24in case someone doesn't want to add any
  877. 27:25answer for this one. Now for the final
  878. 27:27confirmation screen this is the same
  879. 27:28illustration as the first page but I
  880. 27:30will change that one out and I did want
  881. 27:32to add a paper texture to the back of
  882. 27:33this and I just added [music] this last
  883. 27:35minute and I'm not a big fan of it I
  884. 27:36think there's better options for this
  885. 27:38and a better way [music] to integrate it
  886. 27:39into the screen but I think you can kind
  887. 27:41of get what I'm trying to go for here
  888. 27:42and maybe it's too much confetti but we
  889. 27:44could also do another confetti screen
  890. 27:46here maybe some flower petals like
  891. 27:47floating down the [music] screen just
  892. 27:49for some extra joy and animation and one
  893. 27:51other thing is that maybe we can also
  894. 27:53add some [music] Polaroid style images
  895. 27:55of me and Chris and Luna our dog just to
  896. 27:58again make it more intimate and personal
  897. 28:00and now we will send the RSVP [music]
  898. 28:01and it says that we will be attending I
  899. 28:03wanted to really make sure that
  900. 28:05everything felt alive but not too
  901. 28:07overwhelming and with all of the changes
  902. 28:08that I've just [music] mentioned it
  903. 28:10would probably need some tweaking
  904. 28:11because it could get overwhelming so I
  905. 28:13think this is a really great stopping
  906. 28:14point for me [music] to take a break
  907. 28:15from it come back to it later and see
  908. 28:17exactly what needs tweaking and now
  909. 28:19let's actually put it on my phone. So
  910. 28:21[music] what I do is I need to plug it
  911. 28:23into my computer and if you also use the
  912. 28:25same Wi-Fi I think it works that way as
  913. 28:27well go to Xcode here right here we
  914. 28:30change this [music] to my physical phone
  915. 28:32and press build.
  916. 28:35It says the build is succeeded and if we
  917. 28:37look here
  918. 28:38it pops [music] up on its own.
  919. 28:41So now let's go through the actual flow
  920. 28:42on my phone. So here is a normal flow
  921. 28:44that I've already gone through press
  922. 28:46enter
  923. 28:47And here is that banner. [music]
  924. 28:49Let's go and click through it. It looks
  925. 28:51good.
  926. 28:54The page animations look great. [music]
  927. 28:55Let's choose this first option. Let me
  928. 28:57add a guest here. So, I've added my
  929. 28:59guest.
  930. 29:00>> [music]
  931. 29:01>> Here is your meal selection, and let's
  932. 29:03go with that one.
  933. 29:05And any [music] dietary restrictions.
  934. 29:08And some requests that you would want to
  935. 29:10add.
  936. 29:11And the final confirmation screen.
  937. 29:14>> [music]
  938. 29:14>> And now the full prototype is in my
  939. 29:15hands.
  940. 29:20So, that was the full process of adding
  941. 29:21a brand [music] new feature to my
  942. 29:22wedding app, and that is from research
  943. 29:24and all the way to a physical prototype
  944. 29:26on my phone. And now it's already dark
  945. 29:27outside. This was definitely a different
  946. 29:29kind of video for me, and I'm not going
  947. 29:30to lie, I was pretty nervous about it,
  948. 29:32and I was kind of crashing out in the
  949. 29:33middle of it, not knowing if it'll work
  950. 29:34out. But with our pre-existing design
  951. 29:36language and the branding that we have
  952. 29:37for the app, it went a lot better than I
  953. 29:39thought, and a lot [music] faster than I
  954. 29:40thought. But all in all, I think there's
  955. 29:41something really valuable in seeing this
  956. 29:43process live. The decision making, the
  957. 29:45back and forth with the AI, the moments
  958. 29:47where something doesn't look quite
  959. 29:48right, and you have to figure out why.
  960. 29:49It's all [music] part of the process.
  961. 29:51Like I mentioned in the previous
  962. 29:52section, the RSVP flow definitely still
  963. 29:54needs some polish. There's still things
  964. 29:55that I want to tweak with the
  965. 29:56animations, and there's still some
  966. 29:57spacing that I need to get right. But
  967. 29:59the fact that it went from nothing to a
  968. 30:01fully working prototype with multi-steps
  969. 30:03and animations all in one session is
  970. 30:04amazing. I hope seeing my full process
  971. 30:06of my designing and my coding was
  972. 30:08helpful and made sense, especially with
  973. 30:10how much time I saved using multiple
  974. 30:11agents at the same time. This only took
  975. 30:13a few hours of my day today, otherwise
  976. 30:15it would have taken me weeks. If you
  977. 30:16want to see how I design the rest of the
  978. 30:17app, I have a full design process video.
  979. 30:19And if you want to see how I prototyped
  980. 30:20it and got it onto my phone, I have
  981. 30:22another video for that as well, and I'll
  982. 30:23leave a link in the description for both
  983. 30:25of those. Definitely let me know in the
  984. 30:26comments if you like this format, and if
  985. 30:28you want to see me build more live
  986. 30:29videos. Again, I hope this was helpful,
  987. 30:31and as always, thanks for watching, and
  988. 30:33I'll see you guys in the next one.
  989. 30:39>> [music]
  990. 30:46>> Oh.

About this transcript

This page contains the full transcript of Designing + Vibe Coding an iOS App Live (Claude Code) by Cecilia Kim, generated from the public captions YouTube serves with the video. The transcript has 6,697 words across 990 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.