YouTube2Text

How I Make Apps FEEL Premium (5 examples) — Transcript

by Chris Raroque · 3,371 words · 485 segments · language en · Watch on YouTube

Full transcript

  1. 0:00The number one question I've been
  2. 0:01getting is how do I make my apps feel so
  3. 0:03good to use? If you're new here, welcome
  4. 0:05to the video. My name is Chris and I
  5. 0:06build productivity apps. I've been doing
  6. 0:07this for years and I'm finally making
  7. 0:09the video that you guys have been asking
  8. 0:10for, which is everything I do to make my
  9. 0:13apps feel premium. We're going to go
  10. 0:14through practical examples in my own
  11. 0:16apps that you can apply today. Let's hop
  12. 0:19right into it. The first thing that I do
  13. 0:20that genuinely makes a pretty big
  14. 0:21difference is animations. Now, instead
  15. 0:23of talking about this abstractly, let me
  16. 0:25show you a real example of something I
  17. 0:27just shipped so you can see that there
  18. 0:29are levels to animations. I was working
  19. 0:31on a new feature for Amy and quick
  20. 0:33context, Amy is a calorie tracking app
  21. 0:35in the style of Apple Notes. You type
  22. 0:36the food that you ate on the left and
  23. 0:38the calories magically appear on the
  24. 0:39right. The problem with letting users
  25. 0:41input whatever they want is the text can
  26. 0:43get pretty long. It gets kind of
  27. 0:44cluttered so I shipped a feature where
  28. 0:46it'll summarize long entries for you. I
  29. 0:49asked Claude Code to build it and it did
  30. 0:50actually pull it off. Like it
  31. 0:51technically works, but watch closely.
  32. 0:53[music] If you look closely, the text
  33. 0:54just changes instantly. There's like no
  34. 0:56feedback at all. And if you blink and
  35. 0:58you missed it, you'll have no idea that
  36. 0:59the app actually did something.
  37. 1:00Technically, the feature is working. It
  38. 1:02is summarizing the entries, but the user
  39. 1:04can't feel that it's working. And that's
  40. 1:06a problem. So that's level one, there's
  41. 1:07no feedback, there's no animation, the
  42. 1:09user just has to guess what happened. A
  43. 1:10pretty junior developer would stop right
  44. 1:12there and just ship it as is. But
  45. 1:13someone one level up would see this and
  46. 1:15say, "Okay, we need to add some
  47. 1:16feedback." So let's just add a toast. A
  48. 1:18toast is a little pop-up that's going to
  49. 1:20appear and say something like the meal
  50. 1:22was summarized. That way the user knows
  51. 1:23something happened. It does get the job
  52. 1:25done and I think it's okay to ship as
  53. 1:27is, but we can [music] do better. So the
  54. 1:29next level is to add some animation to
  55. 1:31convey that the change happened. So I
  56. 1:33asked Claude Code, "Can you make an
  57. 1:34animation?" And after a bit, it did add
  58. 1:37an animation to show the change. Now,
  59. 1:39this does get the job done, but I
  60. 1:40thought to myself, "Can I do better
  61. 1:42here?" And so the next step up [music]
  62. 1:44is to take this animation and refine it.
  63. 1:47This is what I landed on for the
  64. 1:48animation. We have this beautiful
  65. 1:49purple-orange gradient that conveys that
  66. 1:52something automated or AI or magic ended
  67. 1:55up happening. I'm not going to lie to
  68. 1:56you and say that I was able to prompt
  69. 1:57this in like one or two prompts. This
  70. 1:59took some serious work. Like I think it
  71. 2:01took 6 hours of prompting. And the
  72. 2:03reason it took 6 hours is I tested and
  73. 2:05scrapped a lot of different concepts
  74. 2:07before landing on this. Even on the
  75. 2:09colors alone, I probably tested like 30
  76. 2:10plus colors just to land on this purple
  77. 2:13orange gradient. Now technically on
  78. 2:14paper across the four variations we
  79. 2:16have, the feature is exactly the same,
  80. 2:19at least on paper. Obviously whether
  81. 2:20you're using a toast or no animation or
  82. 2:22this beautiful purple orange gradient
  83. 2:24animation, the feature feels completely
  84. 2:26different. The difference between these
  85. 2:28two animations is the effort that I put
  86. 2:30into it. One took one prompt and then
  87. 2:32the other one took 50 plus prompts and
  88. 2:33probably like 6 [music] hours. And it
  89. 2:35might not seem like it, but users can
  90. 2:36tell the difference in effort. If you
  91. 2:38want to build the skill of what makes an
  92. 2:39animation good, my favorite resource is
  93. 2:42Mobbin. They literally have an animation
  94. 2:43section where you can study good
  95. 2:45animations and slow them down so you can
  96. 2:47kind of study [music] frame by frame.
  97. 2:48And that's how you train your eye to
  98. 2:50figure out what good looks like. This
  99. 2:52video is not sponsored by Mobbin, but I
  100. 2:53do have a code in the description that
  101. 2:55gets you a discount on their yearly plan
  102. 2:56if you want to check them out. The key
  103. 2:57takeaway here is not all features are
  104. 2:59created equal and not all animations are
  105. 3:01created equal. There are levels to this.
  106. 3:03Next thing I focus on to make my apps
  107. 3:05feel premium is illustrations. Now I
  108. 3:07want to be very upfront about something.
  109. 3:09Illustrations used to be my secret
  110. 3:10weapon to making my [music] apps stand
  111. 3:12out. And then ChatGPT image came out and
  112. 3:14now every single app has illustrations.
  113. 3:16So just having illustrations is not
  114. 3:18enough. You can check that box, but your
  115. 3:20app is still going to feel vibe coded.
  116. 3:21[music] So now when I build an app and I
  117. 3:23add illustrations, I ask myself, "How
  118. 3:24can I do this better? How can I make
  119. 3:26sure that my illustration stand out
  120. 3:28among other apps?" Let me show you what
  121. 3:30I mean. This is the onboarding for my
  122. 3:32calorie tracking app Amy. People keep
  123. 3:33messaging me about this onboarding
  124. 3:35saying this is one of the best
  125. 3:36onboarding that they've seen. I think
  126. 3:37someone actually signed up twice just to
  127. 3:39go through the onboarding. Now think
  128. 3:41about that for a second. Is there an
  129. 3:42onboarding flow you actually enjoyed
  130. 3:44going through? [music] Probably not. So
  131. 3:45for someone to compliment mine, I was
  132. 3:47clearly doing something right. And I
  133. 3:48think it all came down to these really
  134. 3:50great playful illustrations. Now here's
  135. 3:52the exact same onboarding if I took a
  136. 3:55one-shotted GPT image and just [music]
  137. 3:57replaced it in the onboarding. It's the
  138. 3:58same exact onboarding on paper, but it
  139. 4:01just feels different. [music] One feels
  140. 4:03premium and then one feels like every
  141. 4:04other onboarding that was shipped this
  142. 4:06year. The difference is my wife Cecilia
  143. 4:07actually hand drew these illustrations
  144. 4:09in Procreate. But more importantly, we
  145. 4:11spent a lot of time iterating and trying
  146. 4:14to find the illustration style. [music]
  147. 4:16And the bar we were holding ourselves to
  148. 4:17was we wanted someone to say when they
  149. 4:19saw these illustrations, "How did they
  150. 4:21possibly prompt that?" Or even better,
  151. 4:23questioning whether this was
  152. 4:24AI-generated at all. Now if you can't
  153. 4:25work with an artist and you're
  154. 4:26generating with AI, here's the secret to
  155. 4:28getting really good illustrations.
  156. 4:29[music] It's that one or two prompts is
  157. 4:31not enough. Because if you can get this
  158. 4:33result in one or two prompts, that means
  159. 4:35everybody else can, too. And that's why
  160. 4:37certain illustrations feel very generic
  161. 4:39because they've been overdone by like
  162. 4:40every single [music] app. In my
  163. 4:41experience, the best illustrations I've
  164. 4:43come up with have come after like
  165. 4:4530-plus prompts and a ton of iteration.
  166. 4:46[music]
  167. 4:47This involves taking multiple styles,
  168. 4:49mixing them together, matching them up,
  169. 4:50trying to get creative with it. One
  170. 4:52thing I like to do is look at random
  171. 4:53sites like this is a random Midjourney
  172. 4:55Sref reference thing. I won't explain
  173. 4:57what that is, but basically it has a
  174. 4:59bunch of different illustration [music]
  175. 5:01styles on this website, and I love going
  176. 5:03on here for inspiration. But again, you
  177. 5:04don't want to go here and just blindly
  178. 5:06copy and paste a style. What you want to
  179. 5:08do is just get inspiration. You want to
  180. 5:10mix and match styles. You want to try to
  181. 5:12figure out how to make it your own. I
  182. 5:13think a great example of a company that
  183. 5:15does this is Duolingo. Could ChatGPT
  184. 5:17generate an asset that looks like
  185. 5:19mascot? Yeah, it definitely could, but
  186. 5:21there's a lot of subtle intention behind
  187. 5:23the designs that even though it does
  188. 5:25look like some AI-generated assets, it
  189. 5:28does feel very unique. It does feel like
  190. 5:30Duolingo. It doesn't feel like this was
  191. 5:32made in one or two prompts, and that
  192. 5:33should be the target for you. [music] If
  193. 5:35you look at the onboarding, another
  194. 5:36thing that's going on here is that all
  195. 5:38of the illustrations are animated. Now
  196. 5:40in my case, Cecilia also hand animated
  197. 5:42these in Procreate. But if you can't do
  198. 5:44that, here is a hack that most people
  199. 5:46don't know about. You can actually use
  200. 5:47Midjourney to animate [music] images,
  201. 5:49and that's my favorite way to do
  202. 5:51animations. All you have to do is throw
  203. 5:52a static image into Midjourney, hit
  204. 5:55loop, and then tell it what kind of
  205. 5:56animation you want, and it's going to
  206. 5:58give [music] you four variants. And you
  207. 5:59can keep repeating this process and
  208. 6:01remixing until you get something you
  209. 6:03like. For example, I threw the Amy
  210. 6:04mascot in here, looped it, and now I
  211. 6:06have this really cool animation of Amy
  212. 6:08moving. But again, similar to the
  213. 6:09animations, the takeaway here with the
  214. 6:11illustrations is you have to put in
  215. 6:14[music] effort. You need prompting a
  216. 6:15lot, remixing, and trying to make your
  217. 6:17own style that stands out. Now real
  218. 6:19quick, because there is a theme here,
  219. 6:2030-plus prompts on the illustrations, 6
  220. 6:22hours working on some simple animations.
  221. 6:24Whatever you're polishing, you're going
  222. 6:26to be iterating a lot. And the best way
  223. 6:27I found to do this is to have a
  224. 6:29conversation with your agent. I dictate
  225. 6:31everything, and the tool I recommend for
  226. 6:32this is WhisperFlow, and a huge
  227. 6:34shout-out to them for sponsoring this
  228. 6:36video. WhisperFlow is smart
  229. 6:37voice-to-text that works in any app. So
  230. 6:39when I'm iterating on illustrations, I'm
  231. 6:41literally talking to ChatGPT and asking
  232. 6:43it,
  233. 6:44"Can you modify the image so it's a
  234. 6:45little bit more minimal? I don't like
  235. 6:47how the edges of the illustration look."
  236. 6:49Probably doesn't seem that annoying to
  237. 6:51type this out, but try doing that 30
  238. 6:53times in a row. It does get pretty old.
  239. 6:55Dictating is just so much better. Now
  240. 6:57another reason I recommend WhisperFlow
  241. 6:58is it's perfect for developers because
  242. 7:00it understands technical terminology. So
  243. 7:02when I say something like,
  244. 7:05"Use state, convex schema, webhook
  245. 7:07handler,"
  246. 7:09>> [music]
  247. 7:09>> it gets it right every time. And if
  248. 7:11you're using Cursor or Windsurf, it
  249. 7:12works with these IDEs. So it understands
  250. 7:15what's going on in the code you're
  251. 7:16looking at, and it can even tag files.
  252. 7:18Check this out, if I say,
  253. 7:20>> [music]
  254. 7:20>> "Please enhance the styles from
  255. 7:21subscription overview.tsx,"
  256. 7:25it'll actually tag the file without me
  257. 7:26touching the keyboard. It's available on
  258. 7:28desktop, so you can use it inside of
  259. 7:30Cursor, Claude Code, or ChatGPT like I
  260. 7:32do. And it's on iOS and Android as well.
  261. 7:34I'll leave a link in the description,
  262. 7:35and there's a code for 1 month free, and
  263. 7:37that's on top of the existing 14 days of
  264. 7:39WhisperFlow Pro you get when you sign
  265. 7:41up. They did not have to provide that.
  266. 7:43I'm the one that asked for that. So a
  267. 7:44huge thank you to them for doing that.
  268. 7:45Okay, now back to the illustrations
  269. 7:46because I do have one more
  270. 7:48recommendations. And unfortunately, it's
  271. 7:50something that a lot of you guys are not
  272. 7:52going to like hearing. If you really
  273. 7:53want to stand out and have an edge, it's
  274. 7:55to work with an actual artist. [music]
  275. 7:57Now before you say, "Okay, well that's
  276. 7:58easy for you to say. Your wife is a
  277. 8:00designer." Just know that even before
  278. 8:01working with Cecilia, I had already
  279. 8:03commissioned graphic designers in the
  280. 8:04past. And I will still continue doing
  281. 8:06that, especially if there's a specific
  282. 8:08art style that I don't think she's
  283. 8:10suited for. It's actually way more
  284. 8:11affordable than you think. And I've
  285. 8:12gotten really good graphics commissioned
  286. 8:14for like a few hundred dollars. Now
  287. 8:16there are two reasons why I think it's
  288. 8:18worth it. The first is that your odds of
  289. 8:19getting something truly unique are
  290. 8:21exponentially higher when you work with
  291. 8:23a human rather than when you just prompt
  292. 8:25it. Now you can absolutely escape the
  293. 8:27default AI generated look if you use
  294. 8:29enough prompts. Or you can work with an
  295. 8:30artist and know for a [music] fact that
  296. 8:32it's original. Now the second reason,
  297. 8:33and it's something that I think people
  298. 8:35massively underestimate, is that the
  299. 8:37story itself of how you build your app
  300. 8:39also contributes to making it feel
  301. 8:41premium. The moment people find out that
  302. 8:43your illustrations were hand-drawn by an
  303. 8:45artist, the entire app instantly feels
  304. 8:47different. Even if AI could replicate
  305. 8:49the asset. I mean, think about watches.
  306. 8:5190% of people cannot tell the difference
  307. 8:53between a hundred-dollar watch and a
  308. 8:54thirty-thousand-dollar watch. But the
  309. 8:56people who can tell the difference care
  310. 8:57about one thing, and it's craftsmanship.
  311. 9:00Somebody spent hundreds of hours
  312. 9:01handcrafting that thing. At that point,
  313. 9:03it no longer becomes a watch. It really
  314. 9:05becomes a story or an experience. And I
  315. 9:07genuinely think this is where software
  316. 9:09is heading in a world where AI can just
  317. 9:10generate a million apps. Knowing the
  318. 9:12story behind the app and that a human is
  319. 9:15the one that actually crafted some of
  320. 9:17the assets is actually going to start
  321. 9:18mattering to people. If you're on a
  322. 9:19budget, here is a hybrid workflow. What
  323. 9:21I would do is commission an artist to
  324. 9:23make a base style or mascot. And again,
  325. 9:26you could get this done for like a few
  326. 9:28hundred dollars. And then use [music] AI
  327. 9:29to create derivatives or variants from
  328. 9:31it. This is actually what I did for my
  329. 9:32unreleased app Lily. I had Cecilia
  330. 9:34hand-draw the asset of the mascot. And
  331. 9:37then I created a bunch of derivatives
  332. 9:39using chat GPT. [music] You get the best
  333. 9:40of both worlds where you get an original
  334. 9:42commissioned piece from an artist where
  335. 9:43there's a really good story, but you
  336. 9:44also have an affordable way to just make
  337. 9:47a bunch of variants. Okay, so far we've
  338. 9:48covered animations and illustrations,
  339. 9:50but craft is not just UI. [music] Craft
  340. 9:52and taste goes way beyond visual, so let
  341. 9:54me show you two examples of what I mean
  342. 9:56by that. My calorie tracking app Amy has
  343. 9:58a feature where you can take photos of
  344. 9:59food, and then it'll calculate the
  345. 10:01calories [music] from that. In the first
  346. 10:02version I shipped, you tap a button, and
  347. 10:04then the default iOS camera is going to
  348. 10:06appear for you to take [music] the
  349. 10:07photo, which is totally fine. It was
  350. 10:08like that for months. Nobody had a
  351. 10:10problem with it. One thing I'm always
  352. 10:11doing is looking for inspiration and
  353. 10:13studying other apps, and then one day I
  354. 10:15came across this [music] in my timeline.
  355. 10:17It's that chat GPT shipped a new inline
  356. 10:19camera feature. So, instead of using the
  357. 10:21default iOS camera, when you click the
  358. 10:22camera button in their app, it's going
  359. 10:24to have this inline camera experience
  360. 10:26pop up. It is just such a good
  361. 10:28experience. The second I saw this, I was
  362. 10:30like, I have to try to recreate this and
  363. 10:32see if I can bring this into Amy. So, I
  364. 10:34spent a few hours reverse engineering
  365. 10:35the animation, trying to figure out why
  366. 10:37does it feel so good and smooth, and how
  367. 10:38[music] do I keep it performant, and I
  368. 10:39ended up actually shipping it. Now, 99%
  369. 10:42of users are not going to notice this
  370. 10:43change at all. But, after you've used it
  371. 10:44like five or 10 times, you kind of start
  372. 10:46[music] noticing when it's absent in
  373. 10:48other apps. So, if they use any of my
  374. 10:50competitors and they click the camera
  375. 10:51button, and then they just see the
  376. 10:52default iOS camera appear, they're
  377. 10:54probably going to think to themselves,
  378. 10:55why does this just feel a little bit
  379. 10:57different than Amy's? Unless they're
  380. 10:58really perceptive, they probably can't
  381. 11:00name exactly what the difference is, but
  382. 11:02I guarantee that [music] they can feel
  383. 11:04it. Also, I want to point out, as you
  384. 11:05probably noticed, I did not ship this on
  385. 11:07day one. Version one was the default iOS
  386. 11:09camera experience, and then I came back
  387. 11:11months later and then tried elevating
  388. 11:12the experience. [music] And that's
  389. 11:13actually a tip on its own. You don't
  390. 11:15have to build a premium version in
  391. 11:16version one. You can layer this over
  392. 11:19time. Now, the second example of craft I
  393. 11:20want to show you guys is an invisible
  394. 11:22one. It's where there's no UI at all.
  395. 11:24Amy has a dictation feature, so you can
  396. 11:26click a button and then just start
  397. 11:27dictating what you ate, and then it's
  398. 11:29just going to apply it as an entry. And
  399. 11:31it works great. For 90% of the entries,
  400. 11:33it's just going to get it. But I did
  401. 11:34notice there was an edge case when
  402. 11:36there's a restaurant that's really
  403. 11:38[music] tough to say. There's a Korean
  404. 11:39restaurant in Dallas called Saemaul, and
  405. 11:41my app was not getting it. So, I made a
  406. 11:43quick change to hopefully improve this
  407. 11:44where when you use dictation, Amy is in
  408. 11:47the background going to get the 30
  409. 11:49closest restaurants and add it as
  410. 11:51context. So, it has a higher shot of
  411. 11:53getting the name if you dictate it. So,
  412. 11:55if I'm at the restaurant and I dictate
  413. 11:56and say Korean barbecue from Saemaul, it
  414. 11:58actually is going to get it right. It
  415. 12:00seems like such a small deal, but it's
  416. 12:01going to be one of those things where
  417. 12:02when the app gets it, the user is 100%
  418. 12:05going to say, "Wow, I can't believe it
  419. 12:07got that." I absolutely love adding
  420. 12:09features or enhancements like this that
  421. 12:10pleasantly surprise users. That's
  422. 12:12another way to stand out and feel
  423. 12:14premium. Also just wanted to say that
  424. 12:15this location-based feature is
  425. 12:17completely opt-in. You have to turn it
  426. 12:18on in the settings just before anyone
  427. 12:20calls me out on that. But let's zoom out
  428. 12:21because you probably notice a pattern by
  429. 12:23this point. Every single example in this
  430. 12:25video started the exact same way. It was
  431. 12:27with something already working, and then
  432. 12:29I just asked myself, "How can I make
  433. 12:31this better? How can I elevate this?"
  434. 12:33And to be honest, that's the biggest
  435. 12:34thing that I'm doing when building apps,
  436. 12:35and I think that's the secret. Is I'm
  437. 12:37constantly trying to push myself. And I
  438. 12:39think one of the biggest positive
  439. 12:40benefits of AI coding is that a lot of
  440. 12:42the basics are basically taken care of.
  441. 12:44So, now I and you can focus on all of
  442. 12:47the small details. That's where we can
  443. 12:48be pouring our energy into. When you
  444. 12:50spend 6 hours on an animation or 30-plus
  445. 12:53prompts on an illustration or hours
  446. 12:55studying trying to reverse-engineer a
  447. 12:57very simple-looking camera animation,
  448. 12:59you do it enough times, you start seeing
  449. 13:00patterns, you get better at
  450. 13:01experimenting, you start developing
  451. 13:03better techniques, [music] you start
  452. 13:05building taste. And a lot of people way
  453. 13:07smarter than me are saying that taste is
  454. 13:08going to be the defining skill for the
  455. 13:10next era, and I really believe that's
  456. 13:12true. If you're going to take anything
  457. 13:13from this video, here are three things.
  458. 13:15Number one is to always ask yourself,
  459. 13:17"Can I make this better?" It's important
  460. 13:19to remember that AI's first output is
  461. 13:21the starting line. It is not the finish
  462. 13:23line. Number two, it's that unique and
  463. 13:25good take iteration. Whether that's
  464. 13:27iterating with a 100 plus prompts or
  465. 13:29working with a human artist. And number
  466. 13:31three, it's that premium is felt more
  467. 13:33than seen. [music] Some of the best
  468. 13:35craft is completely invisible or just
  469. 13:37will go unnoticed by 99% of [music]
  470. 13:39users. I'll leave a link in the
  471. 13:40description to a couple more videos
  472. 13:42where I talk about craft including a
  473. 13:43conversation with Greg Eisenberg where I
  474. 13:45talk about some of the techniques like
  475. 13:47fonts and illustrations. And also if you
  476. 13:49like this content, check out my
  477. 13:50Instagram and TikTok. I post almost
  478. 13:52every other day about building
  479. 13:53productivity apps. I drop a lot of short
  480. 13:55form content on how to build premium app
  481. 13:57experiences. And obviously if you like
  482. 13:59it, don't forget to subscribe. But thank
  483. 14:00you guys so much for watching and I will
  484. 14:02see you guys in the next video.
  485. 14:06>> [music]

About this transcript

This page contains the full transcript of How I Make Apps FEEL Premium (5 examples) by Chris Raroque, generated from the public captions YouTube serves with the video. The transcript has 3,371 words across 485 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 choose a caption track available on the video.

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, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.