[00:00] (0.00s)
The number one question I've been
[00:01] (1.20s)
getting is how do I make my apps feel so
[00:03] (3.96s)
good to use? If you're new here, welcome
[00:05] (5.44s)
to the video. My name is Chris and I
[00:06] (6.48s)
build productivity apps. I've been doing
[00:07] (7.88s)
this for years and I'm finally making
[00:09] (9.24s)
the video that you guys have been asking
[00:10] (10.72s)
for, which is everything I do to make my
[00:13] (13.20s)
apps feel premium. We're going to go
[00:14] (14.80s)
through practical examples in my own
[00:16] (16.68s)
apps that you can apply today. Let's hop
[00:19] (19.04s)
right into it. The first thing that I do
[00:20] (20.72s)
that genuinely makes a pretty big
[00:21] (21.92s)
difference is animations. Now, instead
[00:23] (23.84s)
of talking about this abstractly, let me
[00:25] (25.56s)
show you a real example of something I
[00:27] (27.64s)
just shipped so you can see that there
[00:29] (29.84s)
are levels to animations. I was working
[00:31] (31.92s)
on a new feature for Amy and quick
[00:33] (33.44s)
context, Amy is a calorie tracking app
[00:35] (35.36s)
in the style of Apple Notes. You type
[00:36] (36.76s)
the food that you ate on the left and
[00:38] (38.12s)
the calories magically appear on the
[00:39] (39.80s)
right. The problem with letting users
[00:41] (41.24s)
input whatever they want is the text can
[00:43] (43.08s)
get pretty long. It gets kind of
[00:44] (44.72s)
cluttered so I shipped a feature where
[00:46] (46.12s)
it'll summarize long entries for you. I
[00:49] (49.00s)
asked Claude Code to build it and it did
[00:50] (50.56s)
actually pull it off. Like it
[00:51] (51.68s)
technically works, but watch closely.
[00:53] (53.71s)
[music] If you look closely, the text
[00:54] (54.76s)
just changes instantly. There's like no
[00:56] (56.84s)
feedback at all. And if you blink and
[00:58] (58.24s)
you missed it, you'll have no idea that
[00:59] (59.60s)
the app actually did something.
[01:00] (60.88s)
Technically, the feature is working. It
[01:02] (62.24s)
is summarizing the entries, but the user
[01:04] (64.16s)
can't feel that it's working. And that's
[01:06] (66.32s)
a problem. So that's level one, there's
[01:07] (67.64s)
no feedback, there's no animation, the
[01:09] (69.16s)
user just has to guess what happened. A
[01:10] (70.76s)
pretty junior developer would stop right
[01:12] (72.40s)
there and just ship it as is. But
[01:13] (73.88s)
someone one level up would see this and
[01:15] (75.36s)
say, "Okay, we need to add some
[01:16] (76.52s)
feedback." So let's just add a toast. A
[01:18] (78.72s)
toast is a little pop-up that's going to
[01:20] (80.28s)
appear and say something like the meal
[01:22] (82.08s)
was summarized. That way the user knows
[01:23] (83.88s)
something happened. It does get the job
[01:25] (85.80s)
done and I think it's okay to ship as
[01:27] (87.56s)
is, but we can [music] do better. So the
[01:29] (89.16s)
next level is to add some animation to
[01:31] (91.88s)
convey that the change happened. So I
[01:33] (93.76s)
asked Claude Code, "Can you make an
[01:34] (94.96s)
animation?" And after a bit, it did add
[01:37] (97.32s)
an animation to show the change. Now,
[01:39] (99.28s)
this does get the job done, but I
[01:40] (100.68s)
thought to myself, "Can I do better
[01:42] (102.56s)
here?" And so the next step up [music]
[01:44] (104.32s)
is to take this animation and refine it.
[01:47] (107.00s)
This is what I landed on for the
[01:48] (108.52s)
animation. We have this beautiful
[01:49] (109.96s)
purple-orange gradient that conveys that
[01:52] (112.16s)
something automated or AI or magic ended
[01:55] (115.32s)
up happening. I'm not going to lie to
[01:56] (116.56s)
you and say that I was able to prompt
[01:57] (117.92s)
this in like one or two prompts. This
[01:59] (119.56s)
took some serious work. Like I think it
[02:01] (121.40s)
took 6 hours of prompting. And the
[02:03] (123.16s)
reason it took 6 hours is I tested and
[02:05] (125.28s)
scrapped a lot of different concepts
[02:07] (127.44s)
before landing on this. Even on the
[02:09] (129.04s)
colors alone, I probably tested like 30
[02:10] (130.92s)
plus colors just to land on this purple
[02:13] (133.04s)
orange gradient. Now technically on
[02:14] (134.44s)
paper across the four variations we
[02:16] (136.56s)
have, the feature is exactly the same,
[02:19] (139.16s)
at least on paper. Obviously whether
[02:20] (140.64s)
you're using a toast or no animation or
[02:22] (142.52s)
this beautiful purple orange gradient
[02:24] (144.68s)
animation, the feature feels completely
[02:26] (146.80s)
different. The difference between these
[02:28] (148.12s)
two animations is the effort that I put
[02:30] (150.48s)
into it. One took one prompt and then
[02:32] (152.08s)
the other one took 50 plus prompts and
[02:33] (153.88s)
probably like 6 [music] hours. And it
[02:35] (155.20s)
might not seem like it, but users can
[02:36] (156.68s)
tell the difference in effort. If you
[02:38] (158.20s)
want to build the skill of what makes an
[02:39] (159.80s)
animation good, my favorite resource is
[02:42] (162.12s)
Mobbin. They literally have an animation
[02:43] (163.72s)
section where you can study good
[02:45] (165.20s)
animations and slow them down so you can
[02:47] (167.40s)
kind of study [music] frame by frame.
[02:48] (168.76s)
And that's how you train your eye to
[02:50] (170.08s)
figure out what good looks like. This
[02:52] (172.36s)
video is not sponsored by Mobbin, but I
[02:53] (173.52s)
do have a code in the description that
[02:55] (175.08s)
gets you a discount on their yearly plan
[02:56] (176.80s)
if you want to check them out. The key
[02:57] (177.96s)
takeaway here is not all features are
[02:59] (179.80s)
created equal and not all animations are
[03:01] (181.96s)
created equal. There are levels to this.
[03:03] (183.92s)
Next thing I focus on to make my apps
[03:05] (185.28s)
feel premium is illustrations. Now I
[03:07] (187.20s)
want to be very upfront about something.
[03:09] (189.04s)
Illustrations used to be my secret
[03:10] (190.96s)
weapon to making my [music] apps stand
[03:12] (192.60s)
out. And then ChatGPT image came out and
[03:14] (194.60s)
now every single app has illustrations.
[03:16] (196.96s)
So just having illustrations is not
[03:18] (198.76s)
enough. You can check that box, but your
[03:20] (200.28s)
app is still going to feel vibe coded.
[03:21] (201.74s)
[music] So now when I build an app and I
[03:23] (203.00s)
add illustrations, I ask myself, "How
[03:24] (204.76s)
can I do this better? How can I make
[03:26] (206.64s)
sure that my illustration stand out
[03:28] (208.92s)
among other apps?" Let me show you what
[03:30] (210.56s)
I mean. This is the onboarding for my
[03:32] (212.32s)
calorie tracking app Amy. People keep
[03:33] (213.96s)
messaging me about this onboarding
[03:35] (215.12s)
saying this is one of the best
[03:36] (216.40s)
onboarding that they've seen. I think
[03:37] (217.88s)
someone actually signed up twice just to
[03:39] (219.84s)
go through the onboarding. Now think
[03:41] (221.00s)
about that for a second. Is there an
[03:42] (222.40s)
onboarding flow you actually enjoyed
[03:44] (224.16s)
going through? [music] Probably not. So
[03:45] (225.76s)
for someone to compliment mine, I was
[03:47] (227.32s)
clearly doing something right. And I
[03:48] (228.84s)
think it all came down to these really
[03:50] (230.72s)
great playful illustrations. Now here's
[03:52] (232.76s)
the exact same onboarding if I took a
[03:55] (235.12s)
one-shotted GPT image and just [music]
[03:57] (237.24s)
replaced it in the onboarding. It's the
[03:58] (238.96s)
same exact onboarding on paper, but it
[04:01] (241.28s)
just feels different. [music] One feels
[04:03] (243.20s)
premium and then one feels like every
[04:04] (244.80s)
other onboarding that was shipped this
[04:06] (246.12s)
year. The difference is my wife Cecilia
[04:07] (247.72s)
actually hand drew these illustrations
[04:09] (249.80s)
in Procreate. But more importantly, we
[04:11] (251.60s)
spent a lot of time iterating and trying
[04:14] (254.60s)
to find the illustration style. [music]
[04:16] (256.36s)
And the bar we were holding ourselves to
[04:17] (257.88s)
was we wanted someone to say when they
[04:19] (259.72s)
saw these illustrations, "How did they
[04:21] (261.36s)
possibly prompt that?" Or even better,
[04:23] (263.04s)
questioning whether this was
[04:24] (264.28s)
AI-generated at all. Now if you can't
[04:25] (265.88s)
work with an artist and you're
[04:26] (266.88s)
generating with AI, here's the secret to
[04:28] (268.60s)
getting really good illustrations.
[04:29] (269.86s)
[music] It's that one or two prompts is
[04:31] (271.52s)
not enough. Because if you can get this
[04:33] (273.52s)
result in one or two prompts, that means
[04:35] (275.48s)
everybody else can, too. And that's why
[04:37] (277.20s)
certain illustrations feel very generic
[04:39] (279.04s)
because they've been overdone by like
[04:40] (280.64s)
every single [music] app. In my
[04:41] (281.68s)
experience, the best illustrations I've
[04:43] (283.48s)
come up with have come after like
[04:45] (285.16s)
30-plus prompts and a ton of iteration.
[04:46] (286.90s)
[music]
[04:47] (287.44s)
This involves taking multiple styles,
[04:49] (289.16s)
mixing them together, matching them up,
[04:50] (290.84s)
trying to get creative with it. One
[04:52] (292.08s)
thing I like to do is look at random
[04:53] (293.36s)
sites like this is a random Midjourney
[04:55] (295.32s)
Sref reference thing. I won't explain
[04:57] (297.84s)
what that is, but basically it has a
[04:59] (299.36s)
bunch of different illustration [music]
[05:01] (301.08s)
styles on this website, and I love going
[05:03] (303.20s)
on here for inspiration. But again, you
[05:04] (304.96s)
don't want to go here and just blindly
[05:06] (306.60s)
copy and paste a style. What you want to
[05:08] (308.68s)
do is just get inspiration. You want to
[05:10] (310.44s)
mix and match styles. You want to try to
[05:12] (312.04s)
figure out how to make it your own. I
[05:13] (313.84s)
think a great example of a company that
[05:15] (315.40s)
does this is Duolingo. Could ChatGPT
[05:17] (317.68s)
generate an asset that looks like
[05:19] (319.92s)
mascot? Yeah, it definitely could, but
[05:21] (321.96s)
there's a lot of subtle intention behind
[05:23] (323.88s)
the designs that even though it does
[05:25] (325.84s)
look like some AI-generated assets, it
[05:28] (328.40s)
does feel very unique. It does feel like
[05:30] (330.60s)
Duolingo. It doesn't feel like this was
[05:32] (332.16s)
made in one or two prompts, and that
[05:33] (333.64s)
should be the target for you. [music] If
[05:35] (335.00s)
you look at the onboarding, another
[05:36] (336.52s)
thing that's going on here is that all
[05:38] (338.68s)
of the illustrations are animated. Now
[05:40] (340.40s)
in my case, Cecilia also hand animated
[05:42] (342.80s)
these in Procreate. But if you can't do
[05:44] (344.52s)
that, here is a hack that most people
[05:46] (346.08s)
don't know about. You can actually use
[05:47] (347.72s)
Midjourney to animate [music] images,
[05:49] (349.48s)
and that's my favorite way to do
[05:51] (351.24s)
animations. All you have to do is throw
[05:52] (352.84s)
a static image into Midjourney, hit
[05:55] (355.04s)
loop, and then tell it what kind of
[05:56] (356.80s)
animation you want, and it's going to
[05:58] (358.28s)
give [music] you four variants. And you
[05:59] (359.72s)
can keep repeating this process and
[06:01] (361.28s)
remixing until you get something you
[06:03] (363.20s)
like. For example, I threw the Amy
[06:04] (364.48s)
mascot in here, looped it, and now I
[06:06] (366.00s)
have this really cool animation of Amy
[06:08] (368.04s)
moving. But again, similar to the
[06:09] (369.60s)
animations, the takeaway here with the
[06:11] (371.52s)
illustrations is you have to put in
[06:14] (374.01s)
[music] effort. You need prompting a
[06:15] (375.76s)
lot, remixing, and trying to make your
[06:17] (377.52s)
own style that stands out. Now real
[06:19] (379.08s)
quick, because there is a theme here,
[06:20] (380.64s)
30-plus prompts on the illustrations, 6
[06:22] (382.60s)
hours working on some simple animations.
[06:24] (384.84s)
Whatever you're polishing, you're going
[06:26] (386.28s)
to be iterating a lot. And the best way
[06:27] (387.96s)
I found to do this is to have a
[06:29] (389.32s)
conversation with your agent. I dictate
[06:31] (391.60s)
everything, and the tool I recommend for
[06:32] (392.88s)
this is WhisperFlow, and a huge
[06:34] (394.52s)
shout-out to them for sponsoring this
[06:36] (396.00s)
video. WhisperFlow is smart
[06:37] (397.40s)
voice-to-text that works in any app. So
[06:39] (399.28s)
when I'm iterating on illustrations, I'm
[06:41] (401.00s)
literally talking to ChatGPT and asking
[06:44] (404.12s)
"Can you modify the image so it's a
[06:45] (405.60s)
little bit more minimal? I don't like
[06:47] (407.36s)
how the edges of the illustration look."
[06:49] (409.88s)
Probably doesn't seem that annoying to
[06:51] (411.20s)
type this out, but try doing that 30
[06:53] (413.36s)
times in a row. It does get pretty old.
[06:55] (415.32s)
Dictating is just so much better. Now
[06:57] (417.28s)
another reason I recommend WhisperFlow
[06:58] (418.48s)
is it's perfect for developers because
[07:00] (420.32s)
it understands technical terminology. So
[07:02] (422.80s)
when I say something like,
[07:05] (425.00s)
"Use state, convex schema, webhook
[07:07] (427.00s)
handler,"
[07:09] (429.03s)
>> [music]
[07:09] (429.64s)
>> it gets it right every time. And if
[07:11] (431.20s)
you're using Cursor or Windsurf, it
[07:12] (432.76s)
works with these IDEs. So it understands
[07:15] (435.08s)
what's going on in the code you're
[07:16] (436.56s)
looking at, and it can even tag files.
[07:18] (438.52s)
Check this out, if I say,
[07:20] (440.16s)
>> [music]
[07:20] (440.44s)
>> "Please enhance the styles from
[07:21] (441.68s)
subscription overview.tsx,"
[07:25] (445.00s)
it'll actually tag the file without me
[07:26] (446.96s)
touching the keyboard. It's available on
[07:28] (448.52s)
desktop, so you can use it inside of
[07:30] (450.12s)
Cursor, Claude Code, or ChatGPT like I
[07:32] (452.28s)
do. And it's on iOS and Android as well.
[07:34] (454.36s)
I'll leave a link in the description,
[07:35] (455.40s)
and there's a code for 1 month free, and
[07:37] (457.16s)
that's on top of the existing 14 days of
[07:39] (459.64s)
WhisperFlow Pro you get when you sign
[07:41] (461.36s)
up. They did not have to provide that.
[07:43] (463.04s)
I'm the one that asked for that. So a
[07:44] (464.12s)
huge thank you to them for doing that.
[07:45] (465.64s)
Okay, now back to the illustrations
[07:46] (466.92s)
because I do have one more
[07:48] (468.04s)
recommendations. And unfortunately, it's
[07:50] (470.32s)
something that a lot of you guys are not
[07:52] (472.08s)
going to like hearing. If you really
[07:53] (473.44s)
want to stand out and have an edge, it's
[07:55] (475.32s)
to work with an actual artist. [music]
[07:57] (477.28s)
Now before you say, "Okay, well that's
[07:58] (478.64s)
easy for you to say. Your wife is a
[08:00] (480.00s)
designer." Just know that even before
[08:01] (481.76s)
working with Cecilia, I had already
[08:03] (483.52s)
commissioned graphic designers in the
[08:04] (484.96s)
past. And I will still continue doing
[08:06] (486.68s)
that, especially if there's a specific
[08:08] (488.36s)
art style that I don't think she's
[08:10] (490.16s)
suited for. It's actually way more
[08:11] (491.52s)
affordable than you think. And I've
[08:12] (492.64s)
gotten really good graphics commissioned
[08:14] (494.76s)
for like a few hundred dollars. Now
[08:16] (496.08s)
there are two reasons why I think it's
[08:18] (498.04s)
worth it. The first is that your odds of
[08:19] (499.72s)
getting something truly unique are
[08:21] (501.56s)
exponentially higher when you work with
[08:23] (503.60s)
a human rather than when you just prompt
[08:25] (505.56s)
it. Now you can absolutely escape the
[08:27] (507.32s)
default AI generated look if you use
[08:29] (509.20s)
enough prompts. Or you can work with an
[08:30] (510.64s)
artist and know for a [music] fact that
[08:32] (512.20s)
it's original. Now the second reason,
[08:33] (513.68s)
and it's something that I think people
[08:35] (515.20s)
massively underestimate, is that the
[08:37] (517.24s)
story itself of how you build your app
[08:39] (519.80s)
also contributes to making it feel
[08:41] (521.56s)
premium. The moment people find out that
[08:43] (523.20s)
your illustrations were hand-drawn by an
[08:45] (525.20s)
artist, the entire app instantly feels
[08:47] (527.36s)
different. Even if AI could replicate
[08:49] (529.64s)
the asset. I mean, think about watches.
[08:51] (531.08s)
90% of people cannot tell the difference
[08:53] (533.16s)
between a hundred-dollar watch and a
[08:54] (534.44s)
thirty-thousand-dollar watch. But the
[08:56] (536.00s)
people who can tell the difference care
[08:57] (537.80s)
about one thing, and it's craftsmanship.
[09:00] (540.04s)
Somebody spent hundreds of hours
[09:01] (541.56s)
handcrafting that thing. At that point,
[09:03] (543.44s)
it no longer becomes a watch. It really
[09:05] (545.32s)
becomes a story or an experience. And I
[09:07] (547.96s)
genuinely think this is where software
[09:09] (549.24s)
is heading in a world where AI can just
[09:10] (550.88s)
generate a million apps. Knowing the
[09:12] (552.96s)
story behind the app and that a human is
[09:15] (555.48s)
the one that actually crafted some of
[09:17] (557.28s)
the assets is actually going to start
[09:18] (558.96s)
mattering to people. If you're on a
[09:19] (559.96s)
budget, here is a hybrid workflow. What
[09:21] (561.84s)
I would do is commission an artist to
[09:23] (563.96s)
make a base style or mascot. And again,
[09:26] (566.32s)
you could get this done for like a few
[09:28] (568.04s)
hundred dollars. And then use [music] AI
[09:29] (569.68s)
to create derivatives or variants from
[09:31] (571.64s)
it. This is actually what I did for my
[09:32] (572.76s)
unreleased app Lily. I had Cecilia
[09:34] (574.92s)
hand-draw the asset of the mascot. And
[09:37] (577.40s)
then I created a bunch of derivatives
[09:39] (579.08s)
using chat GPT. [music] You get the best
[09:40] (580.56s)
of both worlds where you get an original
[09:42] (582.12s)
commissioned piece from an artist where
[09:43] (583.56s)
there's a really good story, but you
[09:44] (584.92s)
also have an affordable way to just make
[09:47] (587.04s)
a bunch of variants. Okay, so far we've
[09:48] (588.52s)
covered animations and illustrations,
[09:50] (590.44s)
but craft is not just UI. [music] Craft
[09:52] (592.96s)
and taste goes way beyond visual, so let
[09:54] (594.68s)
me show you two examples of what I mean
[09:56] (596.60s)
by that. My calorie tracking app Amy has
[09:58] (598.16s)
a feature where you can take photos of
[09:59] (599.72s)
food, and then it'll calculate the
[10:01] (601.28s)
calories [music] from that. In the first
[10:02] (602.56s)
version I shipped, you tap a button, and
[10:04] (604.16s)
then the default iOS camera is going to
[10:06] (606.32s)
appear for you to take [music] the
[10:07] (607.40s)
photo, which is totally fine. It was
[10:08] (608.96s)
like that for months. Nobody had a
[10:10] (610.52s)
problem with it. One thing I'm always
[10:11] (611.92s)
doing is looking for inspiration and
[10:13] (613.68s)
studying other apps, and then one day I
[10:15] (615.36s)
came across this [music] in my timeline.
[10:17] (617.36s)
It's that chat GPT shipped a new inline
[10:19] (619.44s)
camera feature. So, instead of using the
[10:21] (621.00s)
default iOS camera, when you click the
[10:22] (622.88s)
camera button in their app, it's going
[10:24] (624.20s)
to have this inline camera experience
[10:26] (626.16s)
pop up. It is just such a good
[10:28] (628.32s)
experience. The second I saw this, I was
[10:30] (630.48s)
like, I have to try to recreate this and
[10:32] (632.28s)
see if I can bring this into Amy. So, I
[10:34] (634.00s)
spent a few hours reverse engineering
[10:35] (635.68s)
the animation, trying to figure out why
[10:37] (637.08s)
does it feel so good and smooth, and how
[10:38] (638.63s)
[music] do I keep it performant, and I
[10:39] (639.96s)
ended up actually shipping it. Now, 99%
[10:42] (642.08s)
of users are not going to notice this
[10:43] (643.52s)
change at all. But, after you've used it
[10:44] (644.76s)
like five or 10 times, you kind of start
[10:46] (646.49s)
[music] noticing when it's absent in
[10:48] (648.40s)
other apps. So, if they use any of my
[10:50] (650.04s)
competitors and they click the camera
[10:51] (651.52s)
button, and then they just see the
[10:52] (652.48s)
default iOS camera appear, they're
[10:54] (654.40s)
probably going to think to themselves,
[10:55] (655.52s)
why does this just feel a little bit
[10:57] (657.40s)
different than Amy's? Unless they're
[10:58] (658.84s)
really perceptive, they probably can't
[11:00] (660.60s)
name exactly what the difference is, but
[11:02] (662.64s)
I guarantee that [music] they can feel
[11:04] (664.20s)
it. Also, I want to point out, as you
[11:05] (665.36s)
probably noticed, I did not ship this on
[11:07] (667.16s)
day one. Version one was the default iOS
[11:09] (669.36s)
camera experience, and then I came back
[11:11] (671.04s)
months later and then tried elevating
[11:12] (672.84s)
the experience. [music] And that's
[11:13] (673.92s)
actually a tip on its own. You don't
[11:15] (675.16s)
have to build a premium version in
[11:16] (676.96s)
version one. You can layer this over
[11:19] (679.12s)
time. Now, the second example of craft I
[11:20] (680.76s)
want to show you guys is an invisible
[11:22] (682.28s)
one. It's where there's no UI at all.
[11:24] (684.24s)
Amy has a dictation feature, so you can
[11:26] (686.12s)
click a button and then just start
[11:27] (687.48s)
dictating what you ate, and then it's
[11:29] (689.00s)
just going to apply it as an entry. And
[11:31] (691.16s)
it works great. For 90% of the entries,
[11:33] (693.40s)
it's just going to get it. But I did
[11:34] (694.88s)
notice there was an edge case when
[11:36] (696.64s)
there's a restaurant that's really
[11:38] (698.24s)
[music] tough to say. There's a Korean
[11:39] (699.68s)
restaurant in Dallas called Saemaul, and
[11:41] (701.28s)
my app was not getting it. So, I made a
[11:43] (703.16s)
quick change to hopefully improve this
[11:44] (704.68s)
where when you use dictation, Amy is in
[11:47] (707.16s)
the background going to get the 30
[11:49] (709.00s)
closest restaurants and add it as
[11:51] (711.32s)
context. So, it has a higher shot of
[11:53] (713.40s)
getting the name if you dictate it. So,
[11:55] (715.12s)
if I'm at the restaurant and I dictate
[11:56] (716.60s)
and say Korean barbecue from Saemaul, it
[11:58] (718.48s)
actually is going to get it right. It
[12:00] (720.20s)
seems like such a small deal, but it's
[12:01] (721.76s)
going to be one of those things where
[12:02] (722.84s)
when the app gets it, the user is 100%
[12:05] (725.48s)
going to say, "Wow, I can't believe it
[12:07] (727.00s)
got that." I absolutely love adding
[12:09] (729.00s)
features or enhancements like this that
[12:10] (730.88s)
pleasantly surprise users. That's
[12:12] (732.44s)
another way to stand out and feel
[12:14] (734.16s)
premium. Also just wanted to say that
[12:15] (735.56s)
this location-based feature is
[12:17] (737.00s)
completely opt-in. You have to turn it
[12:18] (738.76s)
on in the settings just before anyone
[12:20] (740.52s)
calls me out on that. But let's zoom out
[12:21] (741.88s)
because you probably notice a pattern by
[12:23] (743.84s)
this point. Every single example in this
[12:25] (745.52s)
video started the exact same way. It was
[12:27] (747.72s)
with something already working, and then
[12:29] (749.72s)
I just asked myself, "How can I make
[12:31] (751.64s)
this better? How can I elevate this?"
[12:33] (753.08s)
And to be honest, that's the biggest
[12:34] (754.24s)
thing that I'm doing when building apps,
[12:35] (755.64s)
and I think that's the secret. Is I'm
[12:37] (757.12s)
constantly trying to push myself. And I
[12:39] (759.12s)
think one of the biggest positive
[12:40] (760.36s)
benefits of AI coding is that a lot of
[12:42] (762.60s)
the basics are basically taken care of.
[12:44] (764.64s)
So, now I and you can focus on all of
[12:47] (767.40s)
the small details. That's where we can
[12:48] (768.92s)
be pouring our energy into. When you
[12:50] (770.48s)
spend 6 hours on an animation or 30-plus
[12:53] (773.16s)
prompts on an illustration or hours
[12:55] (775.16s)
studying trying to reverse-engineer a
[12:57] (777.24s)
very simple-looking camera animation,
[12:59] (779.24s)
you do it enough times, you start seeing
[13:00] (780.68s)
patterns, you get better at
[13:01] (781.92s)
experimenting, you start developing
[13:03] (783.72s)
better techniques, [music] you start
[13:05] (785.28s)
building taste. And a lot of people way
[13:07] (787.08s)
smarter than me are saying that taste is
[13:08] (788.84s)
going to be the defining skill for the
[13:10] (790.88s)
next era, and I really believe that's
[13:12] (792.48s)
true. If you're going to take anything
[13:13] (793.60s)
from this video, here are three things.
[13:15] (795.40s)
Number one is to always ask yourself,
[13:17] (797.28s)
"Can I make this better?" It's important
[13:19] (799.32s)
to remember that AI's first output is
[13:21] (801.44s)
the starting line. It is not the finish
[13:23] (803.92s)
line. Number two, it's that unique and
[13:25] (805.68s)
good take iteration. Whether that's
[13:27] (807.76s)
iterating with a 100 plus prompts or
[13:29] (809.64s)
working with a human artist. And number
[13:31] (811.28s)
three, it's that premium is felt more
[13:33] (813.88s)
than seen. [music] Some of the best
[13:35] (815.16s)
craft is completely invisible or just
[13:37] (817.40s)
will go unnoticed by 99% of [music]
[13:39] (819.48s)
users. I'll leave a link in the
[13:40] (820.60s)
description to a couple more videos
[13:42] (822.24s)
where I talk about craft including a
[13:43] (823.92s)
conversation with Greg Eisenberg where I
[13:45] (825.68s)
talk about some of the techniques like
[13:47] (827.72s)
fonts and illustrations. And also if you
[13:49] (829.52s)
like this content, check out my
[13:50] (830.68s)
Instagram and TikTok. I post almost
[13:52] (832.24s)
every other day about building
[13:53] (833.24s)
productivity apps. I drop a lot of short
[13:55] (835.40s)
form content on how to build premium app
[13:57] (837.76s)
experiences. And obviously if you like
[13:59] (839.08s)
it, don't forget to subscribe. But thank
[14:00] (840.68s)
you guys so much for watching and I will
[14:02] (842.16s)
see you guys in the next video.
[14:06] (846.92s)
>> [music]