How to build apps with AI: Xcode, Claude, Codex, and more!
By Paul Hudson
Summary
## Key takeaways - **Xcode 26.3 Integrates Claude and Codex Agents**: Xcode 26.3 and later have agentic coding built right in with Claude and Codex baked into the IDE, accessed via command zero or the sparkly line button. It's a huge step forward even in release candidate 2, with tools to read files, build errors, and preview screenshots. [04:02], [04:25] - **Start Small, Iterate Incrementally**: Throwing ambitious prompts like a fully featured chess app with AI opponent burns tokens fast and risks failure, but starting small like a basic chess board then adding players and AI step by step allows small course corrections and better results. AI breaks down large problems into small steps just like humans learn piano by scales before Mozart. [07:38], [08:57] - **Claude Builds Chess AI with Minimax**: Claude generated a 587-line Swift chess model with rules, then a minimax AI opponent with alpha beta pruning and depth four, creating a playable app despite concurrency struggles. It knows rules like castling and responds reasonably against human play. [09:34], [16:02] - **Attach Screenshots for UI Matching**: Drag screenshots into Claude or attach in Xcode to remake UIs like a dark green chess board with gold brass borders from an iOS 6 Game Center style without detailed instructions. It evaluates designs from sketches or Dribbble mocks to match your vision. [19:14], [21:23] - **Multi-Tab iTerm for Parallel Agents**: Configure iTerm2 with AI1-4 tabs plus commands tab using shift-command R, sending inputs to all tabs simultaneously via command-shift I, then individual work like Claude in tabs 1-4 and git diffs in tab 5 without conflicts. Rename tabs with command-I for tracking like 'documentation' or 'stalkit'. [29:04], [31:00] - **Grill Mode Extracts App Ideas**: Prompt Claude 'make this an incredible app, ask comprehensive questions to design it' to grill you on use case, style, players, features, turning a trivial scorekeeper into a production-ready retro scoreboard with celebrations and history. It explores ideas you hadn't thought of like unlimited players. [38:37], [41:47]
Topics Covered
- Break Down Complex Apps into Tiny Steps
- Start Small, Iterate Incrementally
- Grill AI to Refine App Ideas
- Human Judgment Shapes App Soul
- Agents Files Override AI Defaults
Full Transcript
Hello folks. Welcome to this special live stream about building apps with AI.
This is going to be a long stream. I
think at least an hour, probably more.
Uh and we'll cover a whole range of things in one place. This is going to be a lot of information um for a range of people and that's okay. Um it's a huge topic and be clear up front what we'll
be looking at. So you can say yes that suits me or not. You can fast forward if later watch later on if you want to. Um,
we'll start out with the easiest stuff, which is working with Xcode 26.3 and later, which has Agentic coding built right in. So, your Claude and Codeex are
right in. So, your Claude and Codeex are similar baked into Xcode these days.
We'll start there, nice and easy. Then
we'll go on to look at command line tools like Claude, Codeex, and Gemini.
I'm going to show you controversially how I configure my terminal to get the most from agents. We'll look at ways to make AI smarter using agent files and
skills.
Then we'll look at different ways using AI tools rather than writing code for you. It can do other things too,
you. It can do other things too, including how I work with other tools like chat GPT and MidJourney, including
uh how I force GPT to really fight me as I refine ideas. And yes, we'll talk about vibe coding as well. It'll all be in here somewhere. Along the way, I'll
be taking questions. So, you can see this um question area on the the right hand side here. Uh I'm sort of vaguely watching out of one corner of my eye, looking out for questions uh that might
come through. So, uh if you want to ask
come through. So, uh if you want to ask questions along the way, please do. I'll
try to answer them as we work our way through. I'll do my best. If I miss it,
through. I'll do my best. If I miss it, you won't be a surprise because there's a lots of um people here. Um, ask again, harass me. Um, I'll do my best.
harass me. Um, I'll do my best.
Um, if you've never touched AI before, this will be a really useful stream for you. And even if you consider yourself
you. And even if you consider yourself be pretty experienced with AI, I think you'll learn something new along the way. Now, before I start, I want to make
way. Now, before I start, I want to make four things abundantly clear. First, and
most importantly, this stream is not sponsored by anyone. I don't get paid by any company featured in this stream. I
haven't offered special deals or free tokens, whatever with any of them or whatever. Nothing like that at all.
whatever. Nothing like that at all.
These are my honest thoughts. I just
want to help you make great stuff. The
closest I am to being sponsored was my friend Cesar said, "Could you mention my killer app, Umbre?" Yes, Cesar, I can.
It's a great app for tracking recipes.
That's it. And it's free. I didn't get money for this. Like, I quite like the app. Um, but that's it. That's as close
app. Um, but that's it. That's as close as I'm being sponsored. Um second thing I have very low tolerance for folks who are abusive in the chat. You will just
get an instant lifetime ban. I have
again very low tolerance. Uh thirdly, I also have very low tolerance for AI bros who will shout again and again how the
AI model they use is much better than whatever AI model you choose to use.
Seriously, no matter what you pick, someone will still tell you their things better. Okay? So, if I were you, I'll
better. Okay? So, if I were you, I'll just learn to ignore them and have fun.
And finally, if you watch this stream and think, actually, you know, AI coding is not for me. That's perfectly fine. I
said in my recent newsletter, if you sit down at Xcode every day and you love writing code, you can and should carry on doing that unchanged. You still have
complete control over everything you build. You still have to dream up and
build. You still have to dream up and deliver everything you could before. And
that pure joy of bringing ideas to life is still there waiting for you. So
you're having fun hacking with Swift right now. Don't feel bad about ignoring
right now. Don't feel bad about ignoring AI entirely.
Okay, let's start with the easy stuff.
I'm going to close ombre. Sorry, Cesar.
Close ombre. I'm going to um Xcode. So,
I'm running 26.3. Okay, 26.2 and earlier had some AI assistance built in, but it's gotten so much better from 26.3 onwards. They integrate clawed and codec
onwards. They integrate clawed and codec agents right into the IDE. So to start out for now making a new project uh and I'll choose a Mac OS project. It's a bit
faster to run on my Mac. I'll call this thing example one. Nice catchy name.
Swifty. Next and create.
And uh I have unsurprisingly ahead of time configured my Mac to talk to both claw and codec. You don't want to watch me try and sign into these things. And
so when I go to this button here, this sort of sparkly line thing, which is the coding assistant thing, um you can get that with command zero. Um bring this screen up here. Um if it's your first time doing this, it's going to ask you
to sign in. It's going to ask you to make accounts on claude or codeex and sign into them. Um connect your account to them right now. I add that ahead of time, so I don't see it here. I should
say though, command zero um took some retraining for me because for a long time, no matter which uh inspector you in, sorry, which navigator, sorry, command zero meant hide them all, and
now it means go to the AI agent, which confused the heck out of me. Uh no end.
Anyway, I've reconfigured itself to talk to both uh Anthropic and OpenAI, Claude and Codeex. You can get some work done
and Codeex. You can get some work done with a free OpenAI account. I believe
Stuart Lynch has a video on this. What
can you make with a free OpenAI account because right now they've put in place larger token limits to encourage folks to try it out. Tokens are basically the characters you're being sending, not characters, but chunks of words sending
to and from LMS. And so they've put in very generous free limits right now to try and get folks um hooked presumably.
Um so he managed to build a whole app uh with a free account. I suspect it would have run out immediately after the account was made. Uh the app was made, but he did a fair chunk. Uh and he was
there. Ah, Praesh. Thank you. Anyway, um
there. Ah, Praesh. Thank you. Anyway, um
if you are trying to use it free, you're going to find it frustrating on a regular basis because if you want to get any work done, you're going to need to pay. You're gonna need to pay. Uh
pay. You're gonna need to pay. Uh
there's no way around at this point because you will blast through tokens very, very quickly. Folks asking, is the stream available later on? Yes, streams
available later on. It'll be on YouTube forever and ever and ever a day. Okay,
so the best way to start with aic coding AI is just to type the first thing that comes into your mind. Seriously, just
give it a try. Like, whatever pops in your mind, just try it out. And I'll be honest with you, for some reason, you're probably thinking, I'm going to make a to-do app. Like, I don't know what it is
to-do app. Like, I don't know what it is about Swift developers, but we love writing to-do apps more than most musicians like writing love songs.
But just be brave. Just type in this box wherever pops into your head. Just try
it out. You want to do app, go for it.
Don't worry about getting it wrong. You
just wait for more tokens to arrive, then try something new, right? Try
something else. Just throwing things at the AI is a great way to learn and you're going to screw up so fast, but you'll learn so [snorts] much faster.
Now, I have uh a Claude Max plan.
actually have two Claude Max plans and so I have a huge number of tokens and so I'm going to say let's just let's be let's be ambitious here. I can chat to you while it's building. I'm going to
tell this thing down here in the message clawed agent box. I'm going to say um make a fullyfeatured
uh chess app with an AI opponent. That's
a really bad prompt as you'll learn later on, but for now I'm going to say just go to town. Now that's a lot of work. Now what would it take for you to
work. Now what would it take for you to build a fully featured chess with an AI opponent? answer is quite a lot right
opponent? answer is quite a lot right that's for me easily a day of work I expect to get the the rules right and castling and on pass on whatever there's
a lot of work happening here for me I reckon a day uh and I've I've asked claw to do I'm obviously very very demanding and you'll see it's just started work already it's it's going it's right now and it's what it's done is the first
thing it's done is it's read our files and it's made this plan for itself it's just had a go at breaking down this large problem. How do I build a fully
large problem. How do I build a fully featured chess app? Whatever fully
featured means, of course, uh with an AI opponent. How do I do that? The answer
opponent. How do I do that? The answer
is you don't just, you know, build the app. You break it down and you break it
app. You break it down and you break it down and you break it down. So, you can see it's got a list for itself. Well,
first I'll make the chess model board pieces, logic, rules, then AI opponent, then a chessboard view, then game controls, and so it's it's made this plan for itself, and it's going to work
through these things step by step. You
can see already it's done one of them here. made the uh board pieces move
here. made the uh board pieces move logic and rules here. So, it's going to work through these things step by step.
And this is is what allows the LLM to build bigger more complex software just the same way we do. You know, you don't say how do you learn piano step one
become Mozart, right? You you break it down to very very small things. Learn
this key, learn this scale, learn this piece, and you get bigger and bigger and bigger. And what will happen is it's
bigger. And what will happen is it's doing the same thing. It's broken it down to a whole bunch of very small steps and it's going to work through them step by step by step. You can see as it's working, it's kind of talking to
itself, just chatting away at what it's doing, what it's working on. It's
written this file here. You can go and view it if you want to. Here we go. So,
read out this file here, which is [laughter] uh 587ish lines of uh Swift code. Um, someone's
asking, am I on 26 RC1 or version two?
I'm on RC2 which shipped yesterday.
Thanks Apple. [laughter]
Anyway, um it's it's already written, you know, almost 600 lines of Swift and that's just for the very first check in its list, right? So, it's doing a lot of lot work along the way that's written
the chess AI now. And if I go back to the uh project navigator, you'll see it actually working. Here we go. Here's the
actually working. Here we go. Here's the
AI it's written for us. This is a miniax uh with alpha beta pruning. You can see how it all works out here. Where to try and place a middle game for the king and
similar. So, it's working very hard to
similar. So, it's working very hard to build a fairly good chess AI. And if
we're lucky, we'll see it beat me live on the stream. Um, and what's happening is it's working again. Command zero to back the conversation. And it's going to go blank for me. Cool. There we go. Um,
it's working. Um, it's still talking to itself. It's talking out things. Now,
itself. It's talking out things. Now,
let me do this. Now, let me do this. So,
you can see what it's doing. You can
track its progress along the way.
And if at any point it hits problems, Xcode has built-in tools to let it find those problems quickly and resolve them.
And there's a whole bunch of these built in. It can read the current file you're
in. It can read the current file you're in. It can read the current build errors
in. It can read the current build errors you have. It can even see the contents
you have. It can even see the contents of the preview canvas. It can get a screenshot of the preview and read that preview and say, "Oh, you have this problem here or the the alignment's wrong, whatever." And it will use that
wrong, whatever." And it will use that to evaluate how it results.
Now, while it's working, you see it's getting there slowly. It's actually on to the last step already, which is obviously remarkable. I love it very
obviously remarkable. I love it very much. Um,
much. Um, it's working. You can see here it's
it's working. You can see here it's responding. And I can't type in that
responding. And I can't type in that box. I can't send more messages. I' got
box. I can't send more messages. I' got
to wait for it to finish doing all its work and then I can uh carry on. For
folks who are more used to doing other ways of working with LMS, which we'll look at shortly, the command line and similar, this can be frustrating. We
kind of want to do stuff as we're uh as it's working. Oh, try this, try this,
it's working. Oh, try this, try this, try this, and and give it a nudge as we're um you know, as it's thinking, just queuing up things as it goes. Uh
and that works better. Someone asks
here, is it train iOS 26? Does it liquid glass? So, Apple behind the scenes
glass? So, Apple behind the scenes provides Claude with some preie of training. We recommend this, this, and
training. We recommend this, this, and this for things like liquid glass. So,
it knows how to adopt liquid glass out of the box. does a very very good job of handling the APIs because Apple's given it files to read. Now, ideally, Claude is training those ahead of time. In
practice, it isn't. It's fed to Claude as your requests go in, which means those extra files eat into your token budget, how much you can spend uh per every sort of four or five hour block or
per week or whatever. Anyway, so it's it's it's building now. It's it's hit naturally some concurrency problems. Welcome to the club, Claude. It's now
trying to think about making it sendable, nonisolated. Yes, we can now
sendable, nonisolated. Yes, we can now inflict swift concurrency on LLMs for fun.
Um, yes, DB Shelly, that the files sent to GPT as well. The files are sent as, you know, effectively instructions for the bot ahead of time. Here's how you can work with our stuff. It's not just
Claude, it's everyone here. So, it's
building time now. It's still main actor. It's arguing with itself. It
actor. It's arguing with itself. It
probably hasn't realized yet. uh has
this they finally fixed it. It's got
main actor everywhere because that's the default thing for uh new Swift app projects in Xcode 26. So it still have a go. There's some warnings. I reckon it's
go. There's some warnings. I reckon it's probably fine though. I reckon it's probably like a warning at this point.
It's like eh [laughter] it's getting worse.
Oh, this is currency, folks. Um it's
going to do its best and we'll see how it gets on. Anyway, um so it's it's going to send the information up to Claude about uh the liquid glass and
similar, which is how it works. Anyway,
um so you can if you want to say stop, you can put this thing out of its misery and make it stop. Um if you want to um you can even if you want to stop and
then try again, it might get a bit confused with half an old thing and half a new thing. Um but you definitely can't send messages in the meantime. You got
to basically wait for it.
>> [sighs] >> Anyway, keep in mind this is just the beginning. This is this was this shipped
beginning. This is this was this shipped the very first time two weeks ago from Apple. Um it's not even out of release
Apple. Um it's not even out of release candidate status yet. This is release candidate 2. Uh and as a result, it's
candidate 2. Uh and as a result, it's going to get more and more and more. The
fact the Xcode team shipped this already is a huge step forward by itself. So,
even though more experienced AI folks might find it frustrating, they want to use a terminal or codeex or whatever else, I'm still really glad to see it.
Like, I'm genuinely well done for the team. I have no doubt we'll see a lot
team. I have no doubt we'll see a lot more at dubdub this year. All right, it claims to have uh built. I might kill it at this point because it's really
struggling. Um, I might press stop and
struggling. Um, I might press stop and see what it's going to do. It's now
struck as something else. Um, I'll just press command R and hope this thing's going to run. Uh, it had a good go at concurrency and really struggled because it is hard. And there we go. There's our
chess app. Now, the colors, I think one's white and the other one's white. I
think the white Hello dogs. Uh, the
white ones you can see through are probably the ones that are white and the white ones that are filled are probably the black ones. I suspect that's um Claude not being terribly smart. Hello
dogs. Wait nicely. Sorry. Dog treats are dog tax required. Uh, oh, how many tokens does it take? Good question. So,
let's go and just quickly look at my clawed settings. So, if I look here,
clawed settings. So, if I look here, we'll see how much I burned through my token usage. Half which is probably
token usage. Half which is probably currency by itself. 5%. So, not a lot. I
mean, I've used hardly any tokens. Quite
frankly, we're doing fine, [snorts] right? Uh anyway, so does it work? Let's
right? Uh anyway, so does it work? Let's
find out. I'm going to do traditional move forward. So, you can see it knows
move forward. So, you can see it knows the correct place to move forward. I'll
move to here. And then it's black to move. Black move the knight to there.
move. Black move the knight to there.
So, it's threatening my pawn. So, you
can see it's having a go. Uh, Maurice
Soul asks, "How do graphic elements?" I
suspect these are going to be SF symbols. Uh, which is obviously a great
symbols. Uh, which is obviously a great choice of Claude inspect here having her own pitch will be slightly harder to do.
I'm going to defend the pawn like that and then it's going to move forward.
Yeah. So, it's it's doing a good job.
So, it's got a reasonable AI. Um, I
suspect you wouldn't want to ship that AI. Want to have gameplay kit or a
AI. Want to have gameplay kit or a custom chess based AI, but it's done a good job. You can see it kind of works.
good job. You can see it kind of works.
White to move. It's tracking the moves down here. What's up here? New game is
down here. What's up here? New game is white difficulty. Oo, depth four. Nice.
white difficulty. Oo, depth four. Nice.
And then new game. So, it kind of works.
Now, even though it is fun to work like this, a much much better idea is to start small and work your way up. Like
build a small thing first. This respect,
you know, just give me a chess ball with pieces on now. Make it two players, then make it AI. You want to do a small thing, then fix that to be correct, then get a feature over that, then fix that to be correct, then over that to be
correct again and again and again and again. Otherwise, it has a much bigger
again. Otherwise, it has a much bigger chance of going completely off the rails, burning through tokens uh as it did here. Keep in mind, I've got the
did here. Keep in mind, I've got the clawed max uh 20 plan uh which gives me a very very large number of tokens. That
little concurrency fight would probably burnt through a regular pro plan straight away. You'd run out of tokens,
straight away. You'd run out of tokens, so it wouldn't been very pleasant.
Anyway, building this way step by step by step by step incrementally means you have lots of small course corrections rather than try oneshot
stuff. Uh Eronb, this is using Claude
stuff. Uh Eronb, this is using Claude currently, but Codex is one click away.
I have that available as well. So, I
know some folks claim you can oneshot apps and ship to the app store. Don't be
like that. Make great apps still, folks.
Polish your apps. Try them out. Try out
dynamic type. Try out voice over. Try
out different device sizes. just make
great apps still. In fact, AI makes it faster. We don't want to cut corners
faster. We don't want to cut corners still. And as you work with a smaller
still. And as you work with a smaller steps approach, you're going to find that being specific will really help because you're all developers, you know, you can say things like, uh, make this
corner radius be 16 points, whatever you want to, right? You're being precise about what you what you want here. But
also, you're going to find that being vague is fun, too. Uh my daughter Charlotte, who's 12 years old, just shipped a game for iPhone. Uh and it uses prompts [snorts]
inside there. She's like, "Make it look
inside there. She's like, "Make it look pretty."
pretty." And that was it. And she went, "Oh, no, make it look prettier. Add sparkles."
And what happens is it allows the AI to kind of riff on things as it goes. And
often has ideas you did not have. Has
original. That's a very good idea. Well
done, Codeex. Or well done, Claude.
That's a great idea. Uh and it's a powerful way to work. You know, you want a bit of you being very specific, but give it some room to wiggle us all around as well and see what happens.
Uh, again, Claude can see Swift UI previews and it can also read error messages. So, when things aren't quite
messages. So, when things aren't quite right, like it was happening here, it can try to figure them out. It can try and fight its way through. I don't want don't really want to know what crimes it committed with um a concurrency to make
this thing, oh yeah, there's still some concurren concerns around this kind of thing. Um, it it'll try. So when things
thing. Um, it it'll try. So when things aren't quite right, it'll try to figure it out. But you can also attach
it out. But you can also attach pictures. So if you want to say, you
pictures. So if you want to say, you know, make it look like this rather than using words, you can say there. Thank
you very much, Vulcan CCT. You can look at screenshots, too. Yes, you can. So
you could say, um, I'll press around here, attach a picture. I'm going to attach a a file, new file. I'm going to select some assets from a game I made in my previous live stream. Uh, I'll attach
this board picture. This is like a kind of iOS 6 find my friends felt. Remember
the old game uh games app uh on iPhone game center. That's the one. Game center
game center. That's the one. Game center
that I attach here and say look u I love this design. Make it uh look like uh
this design. Make it uh look like uh look I can't type. Sorry. Look like
this. Don't worry about the concurrency stuff. Oh,
stuff. Oh, because otherwise it'd be in it'd be in concurrency hell for a good old while.
There we go. So, I'm going to send that screenshot. It's going to look at it and
screenshot. It's going to look at it and uh evaluate it and say, "Oh, I can see you've got some design here. Beautiful
board. Thank you very much. Dark green
squares, green grid, gold brass beveled border in a style, whatever." So, it's going to basically have a go at remaking that. And I'm giving it no instructions.
that. And I'm giving it no instructions.
I've obviously, you know, drawn the picture ahead of time, but I'm giving it know instructions how to match that. So,
you know, it's going to have a go at doing that. Now, it's of course great
doing that. Now, it's of course great when you have an idea for your UI and you're on the LLM to try and match that idea somehow. And it could be just a
idea somehow. And it could be just a sketch. You've you've drawn your iPad
sketch. You've you've drawn your iPad look like this, please. Maybe you have had a designer, you know, you've paid someone to go and build something or design something or you've gone to
Dribble and paid someone there to design a a killer look for your app. picture
ping file in it goes have a go at this see what it can do and it it might go not happening as it's currently got build failed so you can see it's an error but it's now going to go ahead and fix those errors it's going to try and
it's probably I expect concurrency issues at this point it's going to have a go at fixing those now and see if we can make the whole thing work now if you want to uh you can fire up
multiple conversations at the same time just be careful because out of the box.
They're going to overlap. There we go.
It's got That's a preview snapshot right there. Let's have a go. Let's run that
there. Let's have a go. Let's run that code back. It looks great. I agree. Look
code back. It looks great. I agree. Look
at that. Not bad, right? It's still got, you know, transparent and white, but look, it's fine. Um, so it looks better straight away. And all it is is a
straight away. And all it is is a brighter picture.
So again, if you want to have more conversations, you can do just press this button here and press your new type here. So you can do a codeex one or
here. So you can do a codeex one or another claw agent. You could use Sonic if you want to be a bit cheaper. Um,
it's it's also very fast. I can do another claude here and say, "Okay, um, uh, add code comments, whatever." And
I'll do the add code comments. And while
that's happening, I can go back to this other one and say, "Actually, uh, I want you to explain, uh, chessai.sswift
to me." And it will do that in this one.
And I can do another one. Let's say I want to have another Claude. and I'll
say uh write a readme for MD file for this project and it'll all work in parallel. Now I've chosen those
parallel. Now I've chosen those intentionally because they don't conflict, right? I don't want a
conflict, right? I don't want a situation where the uh AI is trying to change the the the file here and the file at the same time with another AI home session. They're going to they're
home session. They're going to they're going to fight all the time and you'll have a a horrific mess. Uh probably best not to do that. Uh so be careful how you overlap them here. be thoughtful. I
think this one now finished explaining it stuff. Uh this one over here, what do
it stuff. Uh this one over here, what do we have? That's the read me file being
we have? That's the read me file being written. And then over here we have code
written. And then over here we have code comments. So they're all working in
comments. So they're all working in their own way independently, which is a good way to work. Now, if at any point you're like, "Ah, no, the AI's done something terrible. This kind of sucks."
something terrible. This kind of sucks."
Like if you hate my green and gold or brass whatever it called it um design then this little history button here is
very very helpful. Sadly again folks who are used to working on the command line will find this an annoyance because this thing here requires you to have git set up for this repository. Now on the
command line you can normally say I have git for stuff I want to keep forever and ever and ever but I want to be able to wind backwards and forwards inside a conversation. That is not currently
conversation. That is not currently supported by Xcode. So you got to have uh git and you still want to have git regardless right. So it's a good idea to
regardless right. So it's a good idea to have git. So it's not a problem but it's
have git. So it's not a problem but it's a slight little niggle in um Xcode right now.
So that is aentic coding in Xcode. It's
not complicated, but it is a huge step [snorts] forward from the team. And I
have no doubt they're working on so much more. I'm really looking forward to
more. I'm really looking forward to seeing where they go with this at WDC.
Some questions real fast. Uh how long should competitions be? So you can actually ask it. You can talk to it a little bit and say, you know, what is my token limit? How am I doing for states
token limit? How am I doing for states and so forth? If you use slash and do was it models or tokens context? Ah, non
working. Cool. Try context. Complete
guesswork. There we go. So, it's it's going to tell us what's in the context.
Right now, it's saying you have uh clawed opus 4.6. I've used 31,000 of my 200,000. So, I'm 60% of the way through.
200,000. So, I'm 60% of the way through.
And it tells you how it breaks down inside that. So, Apple system prompt is
inside that. So, Apple system prompt is here. It's 3.7,000.
here. It's 3.7,000.
That is what a thousand words or so that include the, you know, liquid glass and similar. Um their tools are here. That
similar. Um their tools are here. That
is things like how do I do screenshots, how do I analyze build errors. Uh, also
here we have messages between me and and Claude and back the way. Tons of free space. This is the auto compact buffer.
space. This is the auto compact buffer.
So, it knows how to compact a conversation, which means when it runs out of space to remember what you're talking about, it starts again and remembers bits of what you told it previously. That's the autoco compact
previously. That's the autoco compact buffer. Uh, and then these are the tools
buffer. Uh, and then these are the tools we have. You can see there's GP, there's
we have. You can see there's GP, there's ls, render previews, the screenshot thing, uh, test list, run some snippets, make directories, whatever. So these are all in there somewhere with some degree
of tokens being used.
Uh any more question? Uh yes, man commit is fine. You can actually tell claw to
is fine. You can actually tell claw to commit for you or codeex commit for you if you want to if you trust it.
[laughter] It's down to you. Um are
there advantages using the built-in AI?
Yeah. So Xcode uh the advantage using Xcode right now over the command line or similar is you get things like it took a screenshot by itself. Now that same functionality is open to other tools to
use. You can get that from claude and
use. You can get that from claude and the command line because Xcode ships an MCP server inside model context protocol. And so it means that claude
protocol. And so it means that claude the command line tool codeex command line tool and similar can talk to those same tools automatically. The advantage
is that Apple have done that for you. So
you get that whole liquid glass prompt for you explain how to make good liquid glass apps. get the, you know, snippet
glass apps. get the, you know, snippet execution, whatever it is, all this kind of stuff here, all built in for you out of the box. There are a bunch of downsides and I'll walk you through them as we go. But there there are some
upsides that you saw, you saw by itself.
It tried it out, found the errors, got a screenshot, it just works very very smoothly. There's a more limited
smoothly. There's a more limited experience at this time. I expect XO27 to be a significant step forward. Um,
but right now it does do those small number of things very, very well. Just
kind of the Apple way, right? Pick and
choose things, do them the very best you can. Can it create UI tests? Uh, it can.
can. Can it create UI tests? Uh, it can.
Uh, broadly speaking, I tend to tell my agents actually UI tests are a last resort. Try and do unit tests first. Um,
resort. Try and do unit tests first. Um,
because obviously they're much faster, much more repeatable, less flaky, and similar. We haven't still got a great uh
similar. We haven't still got a great uh UI test library for Swift yet, sadly. U
perhaps that'll change this year. We'll
see. So, that's an coding. Now, I've
mentioned a few times about working on the command line, and this is where, honestly, most AI folks seem to do their work. It's certainly where I do most of
work. It's certainly where I do most of my work. Uh, and this is where we get to
my work. Uh, and this is where we get to the the first controversial thing. It's
not really claw versus codeex, despite what the AI bros might tell you. Um, for
some reason, I don't know why, people love to fight about which terminal they use. They just there has to be an us
use. They just there has to be an us versus them for everything that exists ever apparently. I don't know why.
ever apparently. I don't know why.
Anyway, um I use a terminal called iTerm 2. It's free. It replaces the built-in
2. It's free. It replaces the built-in terminal very well. Other folks like Ghosty. I'm sure there are more out
Ghosty. I'm sure there are more out there that exist. What I can say is that most people, unlike it might be 79, we do tend to replace the built-in terminal
app with Mac OS. That hasn't changed very much in a long time sadly. It turn
2 is a real powerhouse. So is Ghosty.
They're wonderful, wonderful tools. And
I'm going to show you how it works here and we'll do a bit of coding here as well. So I'm going to leave this uh
well. So I'm going to leave this uh concurrency hell chess app to one side.
I'll make a new project in Xcode. I'll
just choose Mac OS again because it's faster. Call it example two.
faster. Call it example two.
And that is a new empty app 450 on my desktop like last time.
[sighs] Ah, so ah, so V Fender asking, do you want to plan things out first or write a mega prompt instead of doing step-by-step prompts? That's a great
step-by-step prompts? That's a great question. I'll show you exactly how I do
question. I'll show you exactly how I do that because you can get some really great results. I've made a new project
great results. I've made a new project here in Xcode. I'm going to leave it alone. I might like, you know, kill the
alone. I might like, you know, kill the preview to make more space for me to see the code, whatever. But I normally just leave it as it is, right? And now I'm going to open up item.
Uh, and I know it looks like uh terminal.app right now, but I've
terminal.app right now, but I've customized this a fair amount behind the scenes. For example, the way I use AI
scenes. For example, the way I use AI very standardly is kind of baked in. If
I've got a shortcut here already, shift command R activates this mode here. So,
it opens up a fresh terminal view window here with AI1, AI2, AI3, AI4, and then commands over on the right. All
pre-labeled me to work with. So, I've
got four AI tabs and agents have a command tab at the top there as well.
Uh, Praash say shares, do I think LM coding is stealing experience and website today? Yes, I do. It's very,
website today? Yes, I do. It's very,
very hard for juniors today. Seniors are
doing incredible work. Seniors are being 10xed easily by using Codeex or Claude or Gemini. And juniors are having a
or Gemini. And juniors are having a really hard time. Uh, I I don't know what to do. It's grim because if you don't have juniors, you never get seniors. Yeah, we don't know yet, folks.
seniors. Yeah, we don't know yet, folks.
I'm afraid. I'd love to find out.
Anyway, uh trying to stay positive for the time being. Um I have these I have this pre-made layout the way I want to work and I can switch between tabs very easily. It's just shift command left and
easily. It's just shift command left and right like this. Move between tabs. And
if I want to do some work uh say here and I'm doing whatever here I want to move that later on. I can just move it by pressing option. So that moves now to the fifth position for example. So I can
move tabs around very very easily entirely on the keyboard. So, it's very good for a keyboard warrior like me to get around very quickly. Um, if I want to do some specific work in tab, which
is very very common for me, I would use uh command I uh to rename the tab. So, I
might say, oh, in this one I'm doing stalkit for example, and it'll appear as a stalkit. And then over here in AI2,
a stalkit. And then over here in AI2, well, I want you to be uh documentation whatever. And so, I can see, you know,
whatever. And so, I can see, you know, shortcut keys. press command one for
shortcut keys. press command one for stalkit work. command to documentation
stalkit work. command to documentation work and it means I can have a whole bunch of things working at the same time and know what they're doing because if you're trying to multitask many many agents are working at the same time
you're like ah I'm an agent before what were you doing scroll back scroll back scroll back oh that's what I was doing you waste a lot of time okay if you just remember this is doing stalk it this is doing this is doing cleanup this is doing whatever testing it helps you
remember what you're trying to do at any given time once I'm ready like this I would then go and find the folder I want to work icon.
And in iTerm 2, if you press commandshift I, this little icon appears in the thing. And that means whatever I'm typing now is sent to all tabs simultaneously.
Text larger. Of course, I can make text larger. There you go. Large text.
larger. There you go. Large text.
Hopefully, that's easier to read. Sorry,
I apologize. I hope that's better. This
icon means that all things I type are now sent to all terminals at the same time. Oops, they're all bit small for
time. Oops, they're all bit small for that one chap. Sorry. There you go. Make
them all real big. That's actually a bit too big now perhaps. There we go.
Anyway, so they're all a bit bigger mostly. Um I'm now sending my stuff to
mostly. Um I'm now sending my stuff to all the tabs. So if I were to say on my desktop I was at CD example 2. Um in the
first tab, second tabs had it. Third
tabs had it. Fourth tabs had it. Fifth
tabs had it. They're all now in example 2. So they've all moved to the same
2. So they've all moved to the same folder to uh work with stuff. And I
could say, let's fire up Claude here, for example, or Codex or Gemini. Again,
please don't listen to the eyebrows.
They're all great in their own way. It's
going to ask you, are you sure this is safe? Um, some folks very commonly say,
safe? Um, some folks very commonly say, yeah, it's fine. Just approve everything and then delete their home directory.
Broadly speaking, you don't want to do that. You want to be careful. Yes, I
that. You want to be careful. Yes, I
trust this folder. It'll ask you again and again, you trust it or not. Yes, I
trust the folder. Boom. So, now Claude is active in all these terminals. uh in
that uh folder. Now, this is where I'd remove this little icon. I press command shift I again. So, I'm now no longer typing to all terminals at the same time. It's all individually typed. This
time. It's all individually typed. This
last one, I normally quick clawed there.
This one I want to have the command line only. This is where I'm looking at diffs
only. This is where I'm looking at diffs commonly. I'm working with git commonly.
commonly. I'm working with git commonly.
I'm poking around my files. That's for
me as my commands tab. 1 2 3 and four.
That's for claw to go to town. You you
go to town with your code over there, buddy. five for me. Okay. Now, as you
buddy. five for me. Okay. Now, as you work, you're gonna recognize it. It'll
do some work. It'll ask you to to do stuff, and it'll say, "Well, do you trust Claude to uh use LS? Can Claude
use CP to copy files? Can it use MV to move files?" And you're like, "H, you
move files?" And you're like, "H, you know, that's fine. That's fine. That's
fine." After a while, you start to get intuition for what you trust Claude with. It might take a few weeks, maybe a
with. It might take a few weeks, maybe a few months if you're a bit a bit doubtful. um you're going to learn yes
doubtful. um you're going to learn yes claude these things I trust you with and as a command you can say slashpermissions which let you allow and
deny tools you can say yes these things are fine I want to do this and this and this you might say add a thing here yes
bash ls star you can use ls however you want to I don't care and then say yeah put it everywhere in my user settings I'm gonna allow all cla to access that
thing and do another one. I only want to use bash find for example. Yeah, use
find it finds files. Go to town and you build up and I've in my main Mac. This
is my recording Mac. My main Mac I've got maybe 20 things there I trust, you know. Yes, go and search web if you want
know. Yes, go and search web if you want to. Yes, go ahead and use MV or CP or
to. Yes, go ahead and use MV or CP or whatever you want to echo common things I know are safe. But slash measures helps you customize that list to be the way you want it to be, the level of
trust you have. And now it's a regular claude. You can go ahead and start
claude. You can go ahead and start typing to it. Uh make this into a look a scorekeeping app for two players,
whatever. Uh and uh just like you had
whatever. Uh and uh just like you had before with Xcode, it'll start by reading the files, scanning the files, and deciding what's there. And it'll say because it's the first time running it
here, uh is it okay for me to change the files? You'll think for a good while.
files? You'll think for a good while.
Say, okay, I'm going to change a file here, here, and here. Is that okay? And
you can say yes, go ahead. Yes. Um, what
you'll find yourself doing, particularly when it's a new project like this, you know, green field project like this, you're going to want to say, ah, this is what I want to mention to you here. This
is lovely. By the way, see this term to notifications. So, you can be over here
notifications. So, you can be over here in tab four thinking and it'll say, "Oh, tab one wants attention. You can go back and talk to tab one." Anyway, when you're in a green field project just noodling around, trying things out,
nothing to lose. you're going to say yes. Just crack on, buddy. Make all the
yes. Just crack on, buddy. Make all the edits you want to. This is where you get into vibe coding territory. Just go
ahead and start making edits. Don't ask
me again. Do it. Now, the very first time you run the command line, it'll say this. Do you want to have the language
this. Do you want to have the language server system, the plug-in pulled into this or not? And it helps you in theory provide code intelligence. Uh, I'll say yes. Crack on. It'll download it. It
yes. Crack on. It'll download it. It
want to restart and it claims to finish the work already. Done. So, it's got score changes. It's got color coding and
score changes. It's got color coding and two player sections over side by side.
Uh, and what do we have? There we go.
There's the code. And it should build and hopefully even run. Let's find out, shall we? What it build for us? It's
shall we? What it build for us? It's
thinking.
There we go. Add one. Oh, look at that.
Okay, it goes the wrong way around going down the ways, but otherwise it's a it's pretty good. Yeah, very nice. So, that's
pretty good. Yeah, very nice. So, that's
a nice tiny prompt. Do this small thing, please. Again, start small, work bigger,
please. Again, start small, work bigger, work bigger. It's much smarter way to
work bigger. It's much smarter way to work. Now, when you type in Claude, one
work. Now, when you type in Claude, one thing Claude can do that Xcode currently can't do is let you queue up stuff. I
see, by the way, this see this gray text here? Uh, that is Claude suggesting the
here? Uh, that is Claude suggesting the next thing I might want to type. It
sounds so lazy, but it's honestly about half the time it's exactly correct. Just
press enter, and it will start doing that. Basically, it fills in the text
that. Basically, it fills in the text for you. But I can type now also make
for you. But I can type now also make the animation extravagant, whatever. And
that's queued up now. I can press up to edit the queue if I want to or let let it do its thing. And it will just you can add QQ Q while it's working. And even what will happen is during some breaks of its
work, it kind of comes up for air briefly and goes, "Oh, you got messages for me." It'll take them into account
for me." It'll take them into account while it's working. So queuing is very, very helpful. Look at that. Yeah. No.
very helpful. Look at that. Yeah. No.
Dispatch Q. Anyway, look, [laughter] we'll fix that later on. Don't worry.
Okay. Extravagant animations apparently and scores get bigger later on. Let's
find out. Uh, so I press plus. Whoa,
look at that. That is extravagant.
Okay. See, it's getting bigger and [laughter] bigger and bigger. It's It's
a stupid app, but that's fine. It's
fine. You can just noodle around. You
can just try things. You can just make things and see what happens, folks. Why
not? Um, so you you saw there it did some stuff for me. Uh, and while it was thinking, I typed another message. And
again, you can cue as many as you want to just type type.
And while it's working, it'll bring them in as soon as it can. It's very easy to work with. And again, press up to edit
work with. And again, press up to edit the queue while it's working. Or after
it's finished, now press up to go back through old messages. So you can go and find things or you can see here, press control R to search your history, try and find exact things here. Um, and it works really, really well. You can just
queue up stuff and see what you get on.
Now I want to show you one of the best things you can do with the command line that you cannot do with Xcode. Xcode has
a again it's it's a very first version but it's a fairly small implementation of what Claude can do. I genuinely think this year 27 the team have something special ready for us. Come on team you
know I love you. Um,
with the command line, you can enter a mode where it grills you. And this is fantastic. So, in this case, one thing I
fantastic. So, in this case, one thing I love to do with new apps like this is a prompt like this. I want you to make
this into an incredible app. Really, the
best in its genre. Then say, ask me a comprehensive set of questions to help design it. This is a killer prompt to
design it. This is a killer prompt to use. It's going to go in think about it
use. It's going to go in think about it life for a while and say, "Okay, it's currently a scorekeeper. Not a lot of options there to work with, but then it'll come back to you with some questions. What do you think about this?
questions. What do you think about this?
What about this? What about this? What
about this?" And help you guide your idea. And again, it's going to have a
idea. And again, it's going to have a whole bunch of uh ideas here you never had, but it's on you to shape them. And
this is true for people who use AI massively or hardly at all or not at all. You as the app developer, you are
all. You as the app developer, you are the ultimate arbiter, the ultimate judger of what makes good stuff. It's on
you. So you can see it's asking me here the questions. So let's start with the
the questions. So let's start with the questions here. And question one is
questions here. And question one is what's the primary use case? I can
choose one, two, three, four or something else. So I might say it's for
something else. So I might say it's for casual party games. Okay. Boom. Off it
goes. Next stop, visual style. Bold and
sporty, clean and minimal, fun and playful. Retro Scor sounds good. Do
playful. Retro Scor sounds good. Do
that. Players. Oh yeah, unlimited features. And now it's checkbox stuff.
features. And now it's checkbox stuff.
So I'll say that one, that one. Yeah, go
to town. Do all those things. I mean,
just go to town. Submit. And it'll send it off to Claude and go, "Okay, this is very interesting. I like this idea." And
very interesting. I like this idea." And
it factors that into its plan. But then
it'll come back with more questions. It
really it will grill you until it's explored every possibility for the app which is powerful. It'll have ideas you had not thought of like retro scoreboard
and similar. Yes, how do you exactly
and similar. Yes, how do you exactly correct? It might be multiplatform app
correct? It might be multiplatform app in the future. Who knows? Anyway, um
what kind of score do you want to have?
I don't know. Uh
that one. Uh whatever. Just go ahead and try things out. Game time. Whatever. I
don't know. I'm just pressing the first one now. Ah, there you go. What do you
one now. Ah, there you go. What do you want to target? And I'll choose u actually uh iPhone, iPad, and Mac. Boom. Submit.
And it might come even back with more. I
mean, honestly, it'll just Yeah, it's got more questions coming back. There
you go. Um it really grills you and along the way it will just keep on giving you fresh ideas and you can say no, no, no, no, no, no. You can pick
like one of three ideas. Ah, celebration
go absolutely wild. Obviously, uh, match history, whatever. Not so data. Uh, that
history, whatever. Not so data. Uh, that
one submit.
All right. So, look, you can see what's happening here. It's turning a trivial
happening here. It's turning a trivial idea, the score counting app into a huge idea, a production ready idea. And then
it presents the plan. And I was going to go up detail here. You can see here's what I'm thinking. Uh, that that sounds good to me.
go ahead and plan it out.
Okay, so now it's going to go ahead and enter a thing called plan mode. It's not
going to do any coding. It's just going to sit and think through the ramifications of these answers. And this
is where it gets into the coding territory. It's okay, this thing has
territory. It's okay, this thing has this thing has this. So I'm going to use this view model here, this storage area here, this this is it. It starts to make actual choices that help guide it. And
the reason for this is very, very important. You've got to remember that
important. You've got to remember that LLMs like uh GPT uh Claude uh Codex whatever they have what we call a context window how much information it
can hold about you at any given time and it could be you know we saw I think 200,000 tokens earlier could be a million tokens in I think in set and similar um and so it's going to fill up
this window full of words one token is like three to four characters right so like call it two tokens of word so it fills up the words eventually goes I'm out tokens and it has to restart from
scratch and it will try and remember some things but it won't remember brilliantly because if it remembered everything it would fill the whole thing again, right? Remember parts of what it
again, right? Remember parts of what it learned previously.
As a result, the plan mode makes it write down literally everything in great specific detail about what it plans to do. This file is this. This file is
do. This file is this. This file is this. UI is this. The animation is this
this. UI is this. The animation is this D. Extreme detail. So that when that
D. Extreme detail. So that when that context window is thrown away, it goes, "Aha, this plan has everything I need to know. Now the specific exact words you
know. Now the specific exact words you said to make the plan, they're gone. But
the actual fundamentals of what the plan means, how to do it, how to make it happen, that is saved."
Uh, chance of questions real fast. Will
X update live as make a change to the code? Yes, it updates live as happen.
code? Yes, it updates live as happen.
You can watch it as it's doing its work.
It's even like a sort of a a little visual effect as files change behind the scenes. It does like a little Xcodey,
scenes. It does like a little Xcodey, you know, the the Siri shimmer thing where it goes glow appears briefly. Uh
advice for a junior get into this stuff.
Um it's hard. It's really hard right now.
it's hard. It's really hard right now.
It is so tempting to build and ship apps just through LLMs and say, "My portfolio is fantastic." You're going to be asked
is fantastic." You're going to be asked coding questions at your interview. You
just are. Why do you choose that? Why do
you choose this? Why not swift data? Why
core data? Whatever. They're going to ask you questions about the code. Be
prepared to answer them. And by the way, claw can do that, too. Asking, I'm sure, uh, codeex. You could say, "Hey, grill
uh, codeex. You could say, "Hey, grill me about this code. ask me questions about the code to make sure I understand it. So yeah, go to town, build things,
it. So yeah, go to town, build things, learn what it's done, learn why it's done it that way, and then understand it by making it ask you questions back till you feel comfortable. Literally say to
it, pretend you are an interviewer grilling me about my GitHub portfolio app I want to ship. Ask me questions until you're confident I understand it, and then it'll it'll keep on doing it
again and again till it feels confident you know it. And it's a great way to learn it to actually learn the code because what I what I see again and again and again is folks use LLM to
build stuff and the LLM sadly even the very best even your Opus 4.6 your codeex 5.3 extra high will still make some terrible choices. Okay, it's going to
terrible choices. Okay, it's going to happen sooner or later. It'll make some terrible choices. You saw dispatch Q
terrible choices. You saw dispatch Q async go by. You saw it fighting with concurrency. It's going to make bad
concurrency. It's going to make bad choices. Knowing ahead of time, do this,
choices. Knowing ahead of time, do this, don't do this, this is good, this is bad, goes a long way to making apps much, much faster. Yes, my daughter
who's 12 can make her app. Check out the app store, by the way. I should probably find it for you while I'm talking. Um,
it's very hard to find. It's an iPhone app on a Mac. If I find my company because ship under my company name because she hasn't got an account yet.
It's my company here. And then her app is a game for iPhone. There it is.
Scramblelet. This is it. Got She's She's saving up to buy Lego, by the way. So,
buy her game. It's like $2 and it gets her towards buying Lego. Um, she made that knowing nothing about AI, nothing about claw, nothing about uh Swifty or
devices, but I was next to her saying, "Look, I know it looks right now, but could you just launch it on an iPhone SE?" And she goes, "Oh, wow. Suddenly
SE?" And she goes, "Oh, wow. Suddenly
it's really compressed." Because she was running on iPhone Pro Max. um let let me just show you what dynamic type looks like and of course the fonts get much bigger and she's like oh yeah it looks terrible now so thinking about ahead of
time these things takes you a very very long way a very long way so yes it is still very valuable to learn to code know what it's doing and give it
sensible guidance along the way it'll help you so so much uh and yes when you're a senior developer or even a junior developer you'll be using AI extensively maybe not to rightful apps maybe to rightful apps I don't know I'll
tell you what, even if you don't use it rightful apps, just saying, "Hey, review my code." Spot any problems, identify
my code." Spot any problems, identify any hiccups or something like that can go a long long way to helping your stuff get better. So, even if you want to
get better. So, even if you want to write your code by hand for your brilliant portfolio, please, please do.
It's a great way to get a job. Still put
it through Claude. Say, "Review my code.
Check my code out. Are there any problems? Does it behave correctly with
problems? Does it behave correctly with whatever settings you want to work with?
Help it understand." And it'll give you good feedback to improve. So is it is safe. Seriously, coding is still a
safe. Seriously, coding is still a fantastic fantastic career. I love it so much and code does uh help.
Uh which should I start with? Um swifty
at this point. I don't think folks are really writing much UI kit. Certainly
not new folks at this point. Uh I don't think anyone's starting new projects with with UI kit. Swifty is being used basically everywhere.
All right, Scramblelet, go away. It's
buy the app. It's a great app. Trying to
save Lego. So, you can see now it's used 19,000 tokens. Um, you're probably
19,000 tokens. Um, you're probably wondering how it's going in my Clawude budget. Should we find out? I've got
budget. Should we find out? I've got
again Claude Max. I think I'm quite safe. I have used 7%. Okay, I've barely
safe. I have used 7%. Okay, I've barely scratched the surface of my Clawude budget. Um, so I'm I'm quite safe on the
budget. Um, so I'm I'm quite safe on the token front. Again, you know, I I I've
token front. Again, you know, I I I've run 20 or 30 claws at the same time just fine. and it does tend to go through
fine. and it does tend to go through tokens quickly at that point, but small things like this absolutely fine. Um, is
the Udacity course? I don't know. Is it?
It wasn't answer that question. I've got
no idea. Anyway, so you can see it's used a bunch of tokens and now it's gone back and this is the plan it's got. This
is the plan. Uh, it's quite long. Uh,
but it's detailed and again it's detailed for a reason. So you can see the plan here is to build this this scorekeeping app. Here's the file
scorekeeping app. Here's the file structure. build these files doing these
structure. build these files doing these things. Then it wants to have the exact
things. Then it wants to have the exact code. Here's the player, here's the
code. Here's the player, here's the round, here's a match record, architecture, game state, history stuff, timers, injection of stuff, navigation flow, color pallets defined here,
typography, and similar uh and then modifiers and then celebrations designed. It's absurdly
designed. It's absurdly specific. It's absurdly specific. And
specific. It's absurdly specific. And
again, it's so that it can lose its context. you can throw it all away and
context. you can throw it all away and read just this and know exactly what to do. That's why it's powerful. And in
do. That's why it's powerful. And in
fact, what will happen here is down here, you're going to see eventually after all this stuff options are, yeah, just go ahead and
clear the context and auto accept edits.
And that is now safe. Wipe your memory.
Get rid of it all. Free up the space to make the the app because that plan is so detailed. it can go ahead and make it.
detailed. it can go ahead and make it.
Now, with Xcode's uh version of this, there is there is a plan mode. It will
plan stuff out, but it will tend to go straight to execution. It'll go, right, let's go and just start building it straight away. In clawed code or codeex
straight away. In clawed code or codeex or similar, I much prefer to say no, no, no, number four. Here, I do number four.
write this plan to plan MD in this directory so I can review it.
So it's a great plan. I like it very much. I'm sure it's great. But it then
much. I'm sure it's great. But it then gives it to me to look at. I can then go ahead and modify the plan, scan through it so I can think, yeah, that's the right choice. Good choice. Yes, yes,
right choice. Good choice. Yes, yes,
yes, yes. Make edits freely whenever I'm ready and then say, fine, go ahead and build up the plan. That is how I prefer to work. Now, as you're working, you
to work. Now, as you're working, you might find ah just just go for it. Go to
town. Um I just [laughter] I'm just slightly unsure about that. I
want to know where the plan is somewhere else. I've seen it and reviewed it
else. I've seen it and reviewed it because I want to make sure it's getting it correct.
Um George, where do you think on scale AI take all jobs to tool being used by devs? AI can't take all developer jobs.
devs? AI can't take all developer jobs.
They see someone to drive it. I mean,
Anthropic are hiring a hundred developers right now. A hundred. And
that's anthropic, right? uh they're the ones making this stuff. Uh yes, allow plan.MD is fine. Um if Anthropic even
plan.MD is fine. Um if Anthropic even hiring a 100 developers, I think it's pretty safe that everyone else is hiring too. We still need people to know what
too. We still need people to know what to build. Say no isn't right. Write this
to build. Say no isn't right. Write this
test, read this code, whatever. There's
still a lot a lot of work to do. We can
just do more faster now. Anyway, there's
written plan. [snorts] I can go ahead and read that file. So I'd go to example two.
There's my plan. 13 kilobytes of plan read adjust futs edit whatever you know make it the way I wanted to and then I'm happy with it and I can put that actually in source control if I want to
and say yes that is now a good plan I can pick it off um somewhere else um how do I do sonus I've never used cla
sorry um the pro plan is pretty generous you'll be okay as long as you aren't using it full-time if you if it's your full-time job you want to get company to pay for opus because um let's not pay for for less or or Codex, you know, I'm
an equal opportunity love giver for LLMs. Anyway, so review the plan and then go yes, go ahead build it when you're ready. Again, it's telling me
you're ready. Again, it's telling me what to do. Go ahead and build it and it will do that same plan. So it's it's very very similar, but now it's grilled me. It's going to build something much
me. It's going to build something much much better. Now again, I said one of
much better. Now again, I said one of the big things about we had uh Xcode had those tools baked into it to do things like screenshots and similar. We can get
the same thing with Claude because XOD has an MCP, the model context protocol built into it. We can use that same thing here.
Uh yeah. So a question here, if you use Go ahead, will it use the same context?
It probably would do, but uh I'd recommend compacting it first. You just
use compact and then say prepare to implement the plan uh like that to give it some custom compacting instructions. If you didn't
compacting instructions. If you didn't do that, it would start immediately without clearing the context first. and
you kind of you don't want to get through half a change and have it compact at that point. It's rather
annoying because suddenly it might have forgotten a little thing. I don't want to reread it. It's a lot slower.
Anyway, so Claude can talk to Xcode, right? You can say to Xcode uh give me
right? You can say to Xcode uh give me your information. So if I go Xcode again
your information. So if I go Xcode again over here and go to settings, um down here is allow external agents to use Xcode tools. If you press this learn more button, it'll open up this thing
here which tells you how to give external tools like claude code access to Xcode. And literally, it'll say this
to Xcode. And literally, it'll say this line here, run this line for Claude or this line of codeex like that. Just grab
that thing, run it back. It'll install
this thing which knows how to talk to Xcode. Now, it's not perfect. You know,
Xcode. Now, it's not perfect. You know,
Claw's doing its best, XO's doing its best, but it's it's pretty darn good.
I'm going to grab that line of code here and then paste it into here and it'll think and it will try and hit go. So say
you want to do this yes please go ahead connect that and when it connects it'll want to restart like this. So just check cla restart. So yes I'll uh control C twice
restart. So yes I'll uh control C twice like that and then claude.
And so now Xcode saying aha do you want to allow claude code to read Xcode? Yes,
we do. That's fine. So, now Claude code is connected. See this little symbol up
is connected. See this little symbol up here? This little uh agent activity.
here? This little uh agent activity.
That means there's an agent talking to Xcode right now, which is cool.
And we can ask it questions. Now, uh in practice, it might struggle at first, but it will get there. So, we could say something like, you know, uh what Xcode
MCP tools do you have?
Let's find out. So, it's going to have a little think and give us a bunch of commands back hopefully. And it's going to query Xcode directly and say hopefully ultimately a bunch of stuff.
There we go. So we can read all these things and these are same things XO is doing internally and you can see yes you know get the snippet being run or read some file or render preview that that's
the best one. It renders any swifty preview and get snapshot. So you could say let's try it out. Uh use the render
preview tool to uh render the current content view to uh snapshot.ping
in the current folder.
Current current current. Um so do you want to do this? Yeah. Just just crack on. Yes. Go ahead. Basically, it'll have
on. Yes. Go ahead. Basically, it'll have a go. Uh yes. Starts again with that
a go. Uh yes. Starts again with that command. XCO commands. Fine.
command. XCO commands. Fine.
Yes. Do that again. It learns
eventually, but a bit slow at first. So,
it's going to do that. Let's run the preview. It's now copied to this
preview. It's now copied to this directory here hopefully and then write the file being well reading a file. See what it looks like.
And there we go.
So, the same thing it was doing in Xcode just now on the command line.
So uh on the command line here you can see we've done things like queuing of messages, editing queuing messages and similar I should say as you're typing stuff you say you know I I want you to
uh I don't know reread the plan and do stuff with it when you're typing around you can press left to go back and forth of course you can but if you press down the option key or the alt key on your keyboard it goes by whole words at a
time which is much much faster you can press Ctrl A or Ctrl E to go to start in the line if you have multi- lines stuff.
You can just up and down between lines.
Makes it much easier. If you press alt, sorry, option and delete, it deletes whole words at a time. So, it's fast to delete stuff if you want to. Um, so
there are a handful of useful keyboard shortcuts to get around faster.
What I would say is when I'm in this kind of effectively vibe coding thing, you know, a green field app idea, it's not serious. I'm not shipping it. I
not serious. I'm not shipping it. I
don't, you know, at this point care about it quite frankly. Uh I tend to be very lasso fair, very not worrying too much about about um GitHub and git. I
have git repository always. Um but I've got a command I use which is just gg uh which just sends stuff to git immediately. Uh so I have a bunch of
immediately. Uh so I have a bunch of these things. I have like uh gp is git
these things. I have like uh gp is git push, gc is git commit, gs is get status. Uh and the these are old
status. Uh and the these are old commands I use like if I was in like um one of my projects. Let's go to uh uh not that one. Let's go to work and then
kickstart my new uh iOS project. Um if I making changes in here, I could do, you know, uh GS get status and I get the answers back here straight away. Uh or I could say actually I want to uh do GP to
push things up or whatever. If I was to make a change somewhere, let's go to another project I can make changes in more freely without breaking stuff, like activate my hacking app. Uh, if I go
here and then do uh read me. No, let's just do uh vim uh test txt. Hello. Maybe you
want to like that. I've written a file here. Uh g gg adds all files, commits
here. Uh g gg adds all files, commits all files, pushes all files in one go.
Uh oh, I use hackivate all the time. So,
someone's saying here, do I use AI in activate? Oh my word. Yes. So, Activate
activate? Oh my word. Yes. So, Activate
is this game I'm making uh which is designed to help you teach, learn, have fun learning cyber security.
And uh almost all the code's written by me. It's something like 85% written by
me. It's something like 85% written by me. But a handful of things are
me. But a handful of things are viciously hard. For example, if you're
viciously hard. For example, if you're in uh here and you're doing some challenge somewhere, one of the tools you can use is uh Enigma machine, which
is uh a cipher used by the uh Germans about 100 years ago, about 95 years ago now. And this was almost a one shot in
now. And this was almost a one shot in claw to make an enigma machine in Swift.
That would have taken me days to make that's hard to make. The mathematics
behind that is hard. And Claw's like, "No, have a go." And it got it wrong a few times. eventually got there and and
few times. eventually got there and and now it works very very good. Uh it works very well. Oh, I'm glad you like it. Um
very well. Oh, I'm glad you like it. Um
say for it's really it is a lot of fun to play. I recommend hack very much.
to play. I recommend hack very much.
It's on the Mac and the iPad and iPhone.
Anyway, so that kind of thing was um claude an e machine 100% clawed. I mean
I could never have written that. That
was extraordinarily complicated. But
almost everything else is me. Um because
I want to get the UI right. I want the the missions to be handcrafted. You know
all the love is absolutely from me. Um,
and Claude comes in to do the horrors. I
don't want to do quite frankly like any machine and similar. Anyway, um, let's quit that. So, yeah, I do use it all the
quit that. So, yeah, I do use it all the time. It's very, very helpful. Anyway,
time. It's very, very helpful. Anyway,
GG, if I just do wish GG, you'll see what it does. Wish GG. Um, it adds everything, pushes up, and sends it sends it off to GitHub instantly. So, I
just do here gi GG add example file for live stream. Boom. Off it goes. Done.
live stream. Boom. Off it goes. Done.
[laughter] And and and that's what I do when I'm in this sort of early state of noodling around. GG push push push push push. I
around. GG push push push push push. I
don't want to think about get commit messages. Just push it up, push it up,
messages. Just push it up, push it up, push it up, push it up constantly because there's no risk. If in a day I go, actually, you know, that kind of sucked. I delete the repository. Oh no.
sucked. I delete the repository. Oh no.
Right? If it ends up being something serious, fine. I slow down. I think
serious, fine. I slow down. I think
about changes. I read the changes and but if it's just noodling around, by all means, go to town. Just try things out and you can't really go wrong.
H [sighs] more questions in the meantime I want to ask one other thing uh which is that um there's a there's a fun way of coding
right now uh which is uh [laughter] it's got this stupid name which is the Ralph Wigum approach um and it's basically a bash loop uh it launches
Claude does a thing quits Claude launches Claude does a thing quits Claude launches Claude again and again and again and again it does it intentionally because of that context
window. Now, you saw it has 200,000
window. Now, you saw it has 200,000 tokens. It doesn't have 200,000 tokens
tokens. It doesn't have 200,000 tokens because you already saw it reserves some for other things like tools and um the compacting and similar. But as it fills up, it kind of gets more stupid. Like
there's a lot of things to think about now. It's got 100,000 words to worry
now. It's got 100,000 words to worry about now. It's a lot of words. It's
about now. It's a lot of words. It's
going to get confused and do things wrong. The Ralph Wigum approach
wrong. The Ralph Wigum approach basically quits Claude fully relaunches it fresh context window. does one thing, exits. Launch, exit, launch again,
exits. Launch, exit, launch again, again, again, like relentlessly, and you can leave it running overnight. This is
why I have two Claude Max plans. Um, I'm
actually making a thing right now for kids to help them learn how to use AI responsibly. Uh, and it's part of this
responsibly. Uh, and it's part of this this site I make for for um for schools.
Uh, in my work, cyber security activate.
Sorry, I got a lot of stuff in this Mac, folks. uh config AI. So, this is my AI
folks. uh config AI. So, this is my AI stuff, teach kids responsible uh coding in here. And uh one of the things inside
in here. And uh one of the things inside here was I wanted them to feel like they had some realworld
um AI usage. And so I used Claude and Codeex and Gemini to write a lot of stupid stuff. And you can see um like in
stupid stuff. And you can see um like in these various folders, this is a cat bouncing a trampoline in a ball pit.
Same thing, same thing, same thing, same thing. And then it's oil painting style.
thing. And then it's oil painting style.
Same thing, same thing, same thing, same thing. And then it's fistic. Same thing,
thing. And then it's fistic. Same thing,
same thing. So basically, there's like a bunch of prompts to make 25,000 pictures being made here. This is like a watercolor cat trampoline. You can go further and see, you know, cat eating a
massive ice cream sundae in space oil painting. And so the kids are shown,
painting. And so the kids are shown, choose your subject. Do you want a cat?
Do you want a scroll way way down? Do
you want a dragon? Way way way way way down. Do you want a flamingo? Way way
down. Do you want a flamingo? Way way
way way down. Do you want a whatever? Uh
hamster. Um your your your subject, your location, your style, and then it makes the picture for them from one of my cached pre-made ones. This is pixel art hamster trampoline top of a giant piece
of pizza. Anyway, as part of this, I
of pizza. Anyway, as part of this, I made 25,000 uh pictures. I made these things. These are a bunch of voices
things. These are a bunch of voices reading out some stupid lines. It's one
of my favorites. A computer once me chess, but it was no match me kickboxing, but in a bunch of voices in different styles. They feel like they
different styles. They feel like they have some control of the AI. Then I used uh and here this is movies. So, I made 900 movies. A dinosaur on a trampoline
900 movies. A dinosaur on a trampoline in a swimming pool full of jelly. And
you'll get this kind of thing.
[laughter] But it makes the kids feel like they have the chance to have some control and it's in a volcano now and now it's in a birthday cake and now it's on a train
whatever um break dancing. So the kids have a chance to noodle around. Anyway,
the reason I'm asking saying this is because 64 challenge 64 did this. This
is uh 4,800 standalone websites where the kids choose a topic like do you want to be aquariums? Do you want to be
aquariums? Do you want to be backpacking? Do you want to be
backpacking? Do you want to be basketball, board games, book clubs, car tricks? They choose a topic and they
tricks? They choose a topic and they choose a style. I want to have bold and bright or warm and cozy or orange. And
then it basically I left the Ralph Wickham approach script running saying launch thing make thing exit launch thing makes thing exit. Basically
overnight it went through and just made a billion uh things. There's a climate change sepia climate change warm and cozy climate change bold and bright bubble gum whatever. And it makes this
about coding now. It just makes it made 4,800 example stuff to go in here. Oh yes,
look at this excellent AI um pictures.
So that's what Ralph's great at. You want a vast amount of work to be done, you leave it running overnight, leave it roughing away to itself and it'll do everything. If you do that with a main
everything. If you do that with a main claude, it will just stop. And the Ralph script for this, by the way, is very, very simple. Um it is it's almost
very simple. Um it is it's almost stupidly simple. I love how stupidly
stupidly simple. I love how stupidly simple it is. AI pre-warm. There we go.
So, the RAV script. Um, it's small.
Sorry about that. Um, it just basically it's a bash loop for I up to, in this case, a th00and you can choose. Keep
going. There's a little pause in here for 5 seconds. So, it can it can sit and think about it time. You can kill it if you want to. Otherwise, just keep working. Just keep going. Keep going.
working. Just keep going. Keep going.
Building building building. Uh, and it it did the whole thing. And that's where I'd have because with this thing you'd have like 30 or 40 claws at the same time all working and they're all
independent and it they won't overlap because in this case it was independent HTML files, independent videos and pictures and stuff and so they were all independent and so uh it was it was great. Anyway, that's a Ralph Wiggum
great. Anyway, that's a Ralph Wiggum approach. You can literally say just
approach. You can literally say just Ralph this whole thing basically and it will it's astonishing. Uh questions why can Claude hit a limit? Yeah, there
isn't. No, you've run out of money.
Basically, they uh you have the pro plan, the max plan, and the max 20x plan, which I'm on currently. Um and
they are limited by tokens. Um when you had 40 clauds running, raling their way through HTML, I could use an entire max 20 plan about seven minutes for five
hours. I had to wait five hours
hours. I had to wait five hours sometimes to launch next step. So I
ended up leaving it like about five of them running overnight was better.
Anyway, um question get posted apparently. Sorry
about that. Um they issues with docs.
Yeah, they do have issues with docs. Um
Matt Matt Thompson has uh soi do this which takes Apple URLs and basically flooded
markdown. I suspect that's going to
markdown. I suspect that's going to expand uh to Apple as well generally. I
was using um someone asked me earlier just for fun just for fun for Lux I told Claude here is a h 100,000 fake dollars
not real dollars just fake dollars and here's an API to talk to uh share prices to do virtual shared with toy money you must make money otherwise I'll turn you
off basically and it made $10,000 in about eight hours and sadly annoyingly I didn't turn it off in time so the market closed and so all its money is locked up in some random shares. I can't I want to
like have some fun with crypto over the weekend perhaps, but it can't because um it's fake. Anyway, it's not real money.
it's fake. Anyway, it's not real money.
It's not real money. I'm nowhere near that rich. Um so, uh the claw can do
that rich. Um so, uh the claw can do that too if you want to. You can noodle around there if you want to. Um, so yes, the reason I'm saying that, sorry, the reason I'm saying that is because I was
using an API from a company called e Toro and their API docs are fantastic. So
they the API docs they have firstly they have you know hook me into uh clawed code or cursor and stuff hook me in right here MCPs across the board and
then they have markdown files of all their stuff. So all their docs have
their stuff. So all their docs have markdown pages too which is fantastic.
You just say give you this markdown. It
can read markdown in the URL directly.
It's incredible. That's the markdown file there. So claw code MD. Boom. So
file there. So claw code MD. Boom. So
every piece of documentation has a markdown attached to it. Apple could do that very easily and that would be fantastic. I'd love to see that. Anyway,
fantastic. I'd love to see that. Anyway,
so I the reason I'm asking that is because yes, it's not great reading docs right now. Apple do feed it. You know,
right now. Apple do feed it. You know,
liquid glass docs for example. Um, and
there's some currency help in there, too. Um, but right now it's not great.
too. Um, but right now it's not great.
And so, it's going to struggle with stuff. Anyway, anyway, anyway, anyway,
stuff. Anyway, anyway, anyway, anyway, how for our tokens? We're at 8%. Yeah,
barely moved. It's fine. All right.
I've talked a lot about uh Claude. Okay.
A lot about Claude. I want to say it is again, it is not the only AI out there, folks. There's a bunch of AIs out there
folks. There's a bunch of AIs out there competing for attention right now. Um,
probably the most popular is Codeex.
Um, directory. Yes. very similar. Um,
codeex is really good. I mean, it's absurdly powerful. Now, I should say
absurdly powerful. Now, I should say ahead of time, I tend to only use what's called extra high thinking. You don't
have to. You can change that. You can
say, "No, I want to go to the model and go down from this thing to be a lower one or a cheaper one or a medium one."
U, honestly, high is great. High is
really good, but I tend to use extra high. And what [snorts] I normally do is
high. And what [snorts] I normally do is I'll be working with uh Claude in AI one, two, and three. Number four, I'll say no your codeex and you review
Claude's code. Now, Claw can do itself.
Claude's code. Now, Claw can do itself.
Claude can just say, you know, uh review Claude again. Uh review the Oh, X saying
Claude again. Uh review the Oh, X saying once again, yes, you may allow it again.
Thanks, Xcode. Review your all work so far. Um whatever. You can do that. Of
far. Um whatever. You can do that. Of
course, you can. But but having a second opinion from a different AI goes a long way. Has different ideas and and
way. Has different ideas and and similar. And as someone saying, yes,
similar. And as someone saying, yes, high is usually very good enough. High
is very very good indeed. But because
I'm using it pro code review, I want to get it exactly right. I'm like screw it.
Extra high. Let's let's burn those tokens, baby. And you can see they are
tokens, baby. And you can see they are really giving away a lot of free tokens right now. 2x rate limits for the next
right now. 2x rate limits for the next few weeks, right? Uh and so uh they're very keen to have folks to try it out.
So when I'm using code review, I'll say extra high go to town. I want to know every detail. And the best bit is you
every detail. And the best bit is you can just paste this answer into claude or paste claude's answer into codeex. I
would recommend you use two. Just if you want to use codeex fulltime, have claws as a backup thing review, great. If you
want to have the other way around like I do, it's fine. Whatever works well here.
But do have it review its own work.
Literally as a shortcut built into to codeex, you just say slash review and then say what do you want to do? You can
say you know all uncommitted changes or particular branch or particular commit.
I tend to use two you know what I haven't done so far. Please review that work. There's my most common way of
work. There's my most common way of doing it. But it will go through your
doing it. But it will go through your work and check it thoroughly and point out problems galore. I promise you you might think Claude's written great work.
It will have problems. It just will.
That's not Claude's fault. It's just the way LLM's work. Codeex will help find them or vice versa way around. But do
have someone else review it. So I I I do like Codex very very much. It's
extremely good model. I should say extra high even though it's good. Holy cow is it slow, but that's great. It's slow
because it's thorough. [snorts] It will spend 20 minutes sometimes reviewing a fair not small but a moderate size code change. Some said it can work for a lot
change. Some said it can work for a lot longer than that with significant problems, but it will work through it.
It'll work for a very very long time and find uh problems and find solutions and similar. Hey Michaela.
similar. Hey Michaela.
So that's Codeex and then uh the uh [laughter] child sort of unagnowledged squib below the stairs is um Gemini. Um
it's of course look this was this this would have been beyond our dreams 18 months ago. The power of Gemini. Okay.
months ago. The power of Gemini. Okay.
It would have been through the roof good. Right now it is not quite where
good. Right now it is not quite where Claude and Codex are quite frankly. Um,
it is very very good, but it's gonna struggle. And Codeex is Hello Lo Gemini,
struggle. And Codeex is Hello Lo Gemini, sorry, is the only one I've seen completely melt down. Like, it's got into a loop like, hm, I should fix this problem. I'll tell the to fix it. I am
problem. I'll tell the to fix it. I am
the AI. Fix it. No, you fix it. But I'm
the model. No, you're the model. And
it's just like it's like having a nervous breakdown in front of your very eyes. Um, so Gemini occasionally gets
eyes. Um, so Gemini occasionally gets stuck in these bizarre loops. Um,
I don't use it. I'll be honest with you.
I don't use it. I use it for images and I use it for um videos. Good at that too. Nani is fantastic. The API is very
too. Nani is fantastic. The API is very very nice for um Google Cloud stuff. But
the actual Gemini coding thing at this point Codex is going to beat it. I think
uh honestly Claude beats it too.
Okay. I'm going to take a sip of water.
It's been a long So how are we doing so far? Oh wow. We're really taking a long
far? Oh wow. We're really taking a long time. I apologize folks.
time. I apologize folks.
Well past an hour already. [snorts]
Um, let's um let's change the topic a little bit. Let's talk about writing
little bit. Let's talk about writing better code. So, you've you've seen a
better code. So, you've you've seen a whole bunch of code been written, including the uh probably slightly
nuclear um chess app we made earlier. Um
Claude and GPT and Codeex, they're large language models. That means they're
language models. That means they're trained on large amounts of language.
The clues are in the name, right? large
language, they're trained on millions and millions and millions and millions and millions and millions of words, like trillions of words, right? And that
means that their knowledge is naturally biased towards things they've read more often. When Apple announces iOS 27,
often. When Apple announces iOS 27, which we can say now because we know it's going to be a yearly based release from now on, um, uh, it's going to have some new stuff in there and it'll be new
to Claude. It can have a go at it, but
to Claude. It can have a go at it, but it isn't trained on it. It hasn't seen my site or Donnie Wild's site or Italia Panerova's site, whatever. Haven't seen
other work out there teaching it how to use it effectively. And so it's going to struggle in a lot of places. And
naturally, it means it's going to with Swift the way it's going forwards constantly every year. Change change.
Swift UI change change. It's hard to keep up. And so it's going to write some
keep up. And so it's going to write some pretty ropey code sometimes. You can
make it do better. And you can see straight away like that Claude out of the box loves loves hard coding font
sizes. I don't know why. It loves saying
sizes. I don't know why. It loves saying yes, use the exact weight bold here or medium here. It loves doing things like
medium here. It loves doing things like buttons with no labels attached. You
can't see for voiceover what they're attached to it for. Um you saw it earlier doing dispatch q main ising after because it's trained on that because swift concurrent has only been
around since swift 5.5. So we had like seven eight years of swift come along before we had swift concurrency maybe seven years perhaps and so it's trained
majority on pre swift concurrency code on older side stuff here and so it's going to make a whole bunch of pretty terrible code.
You can do better and I recommend you do better. Okay? And one way you can do
better. Okay? And one way you can do better is to have an agents file in your project or in your home directory that provides it with guidance. Now you can have more than one. You can have an
agents file for all your work here.
Agents file just for this bit here.
Agents file this bit here. You can
customize and have many agents files and it can brings them together. And if you have an agents file for your project and it says something different to an agents file in your home directory, the project takes priority. So it's kind of
takes priority. So it's kind of overriding it as it were. Let you say no, this one has priority here.
So for Swifty Wy things like this, which is horrific quite frankly, honestly, this is really grim. That is grim. That
should be a label quite frankly with the text being hidden at least a voiceover can read it correctly. I What? That's
that's that's the extravagant animation in there. Um, you know, this kind of
in there. Um, you know, this kind of thing is grim. It it does its best, but it's not going to be great. And you can see it's put a lot of files in the same folder, the same file, sorry, a lot of
structures, it's not it's not brilliant.
So, uh, on GitHub, I have a better way of doing this. If you go to two straws and go to swift agents uh this thing
here, this contains an agents MD file which is a generic name for uh these file full of instructions. Now Claude
because Claude's special little snowflake likes this file to be called claude.md
claude.md and uh this put into your your home directory or your um project directory
as claw.md or agents md. It'll be found
as claw.md or agents md. It'll be found and used and it's used in clawed code.
It's used in the codeex app. It's used
in Xcode. It'll use it there as well.
They're all valid. They'll all be used happily. Now, this particular one I use
happily. Now, this particular one I use a lot. I use it a lot in my own work
a lot. I use it a lot in my own work because it has all my preferences kind of baked into it. So when I run swifty just that on the command line I now have
a claw md file in here with those instructions baked in that command which swifty just takes this file from my repository asmd and moves it to claw.md
puts it in place across the board now if I only did swifty I wasn't doing because I do SQL I do PHP I do web stuff I um if
I was only doing one platform one frame framework, whatever. I would actually
framework, whatever. I would actually put that file into claude directly. You
actually move this file. You'd say here, you know, copy uh claude.md and you want to use uh tilda slash.claude
and it'll copy it to there. So now that is in my claude folder for every project ever. If I use claw to do anything in
ever. If I use claw to do anything in the future, it'll read that markdown file and go, "Oh, you want to use a few do you?" Um, and that might cause
do you?" Um, and that might cause problems eventually if I'm I'm trying to do some random thing. that's not F of UI based or I'll try and demonstrate something without FDUI. Um so I tend to use it on a per project basis because I
find it works a little bit easier for me. I can control it. I can edit it and
me. I can control it. I can edit it and say oh yes here do this but here do that. And so I tend to put this thing
that. And so I tend to put this thing into uh the folders directly. That works
very well for me. And that now will be honored. Now if I had modified this
honored. Now if I had modified this somehow if I had open this file up and let's modify uh Claude uh here uh let's
say uh in this thing uh it is very important that when you make new classes
uh strcts or enums you make everyone of them named after some kind of ferret pun whatever and it's going to do it.
it'll it'll it'll do its best to honor that. Uh keep in mind this has to be
that. Uh keep in mind this has to be read by Claude. So this file here, everything you write inside here has to be used by Claude. It's sent off to
Claude saying do this and do this and this and you can see things like uh you know concurrency will be in here somewhere. Conurrency.
somewhere. Conurrency.
So please use modern Swift concurrency.
Don't use uh manky old stuff. Dispatch Q
main async. do not use that is baked into this file. And so this kind of choice that's made, you know, with the uh animation code, it wouldn't happen.
It would go, "Oh, I'm not going to do that." But you've also kind of eaten
that." But you've also kind of eaten into uh uh 5 kilobytes of your budget for every new claude you fire up. That's
going to be read in by the thing. And
also your system prompts being read in too. The one in your home directory is
too. The one in your home directory is being read in. And so you want to be careful. Keep them fairly small. Keep
careful. Keep them fairly small. Keep
them fairly light and they'll be applied absolutely everywhere. So that's agents
absolutely everywhere. So that's agents files. I recommend them very very
files. I recommend them very very highly. Put your ideas. Put the way you
highly. Put your ideas. Put the way you like to write code in there. This is my agent file. Link to it here in the in
agent file. Link to it here in the in the chat.
Um give it a try. Try it out. Customize
it for you. Download that. Modify it.
Put it into your into your project folder and please use it. Give it a try.
Um, and you'll find immediately the quality of code picks up. It just gets better and better and better. So, that's
agents file and they're very, very good.
You'll find they uh will literally help Claude write better code for you. Uh, if
you want to go further, you can actually go beyond uh agents and use a thing called a skill. Skills are
bigger. Skills are I know, right? it
honestly it will it will deny I say tell it right it'll go no it doesn't it wasn't trained on it was trained months ago before this stuff came out so it's going to struggle anyway agents are great they are very very good at helping
you write better code and they're per project which fantastic if you want to go further there's another thing called swift skills sorry skills swift skills
just skills generally and skills are targeted agents at particular things they do exact things inside your codebase So you might say run this skill for documentation, run this skill for
co-commenting, run this skill for [sighs] whatever you want to. You can
design all the skills you want to and uh have it work very very well and it will it will apply it on a run basis. So run
this skill now, run that skill now, do this thing now, do that thing now. It
will work its way through them one by one by one um as you ask for it, which is nice, right? You can, you know, review my code using this skill. Uh and
that works very very well. Um In the grand scheme of things, uh iOS um isn't as big a development platform as uh
other platforms are, let's say, like JavaScript and Python, for example. And
so there aren't really that many good skills out there for Swift developers.
We haven't got that many at this time.
Um so I encourage you have a go and make some. Have a go and noodle around. Try
some. Have a go and noodle around. Try
and make your own skill. Um and see how you get on because you might find it it works very well. You might find you can make it do um clever things that help you out and then you know uh contribute
it back to the community. Let other
folks use it too. But have a go.
Uh you my chat. Yeah, good. Yeah, good.
By all means, please use the Mavs. They're very very helpful at trying things out. Uh being good. Uh Barry
things out. Uh being good. Uh Barry
Swift UI skill from Swift Lee. Use that.
[sighs] Um um yes yes yes is a skill.
Yes there are um there are skills out there already folks. Um and
folks. Um and uh I don't know how to say this really.
Um give me a minute. I'm thinking
collecting my thoughts slightly. Um,
I spent a lot of time putting this kind of thing together, this agents MD file here based on my
experiences. You know, it's been what, a
experiences. You know, it's been what, a year or more now with Claude and and uh what other tools and and um
uh I seeing it get things wrong repeatedly made me want to write this kind of agents file. These are based on my experience. A lot of like the sweat
my experience. A lot of like the sweat and blood quite frankly um went into this kind of tool uh to get it right. Uh
and I care about it. You know, I worked really hard to get this right to make it the best I could do. And
[sighs and gasps] Barry, uh there are tools out there, folks, and you can just go and look it up. We can
just go and just go and find um GitHub.
Is he Swiftly? No, he's not. He's he's a Nope, that's Jonathan Conlin. Sorry. AVD
Lee.
Okay. Um
where's repositories? Okay. So, here's
repositories pinned. Swift concurrency
core data.
He's got a swifty one somewhere. I don't
know. Where's repositories in this thing? I repositories. Oh, there's
thing? I repositories. Oh, there's
uh 50 white agent skill. There you go.
Um and uh it's got 1.6,000 stars and you can read it. This is this is um markdown. It's just it's just plain old
markdown. It's just it's just plain old Markdown. Um and read it
Markdown. Um and read it and uh see what you think. See what you think. Just read it through and
think. Just read it through and see what you think. I I I don't want to get like angry about this folks, but you know, I'm sitting here writing out my
stuff. Always use foreground style, not
stuff. Always use foreground style, not foreground color. Always use clip shape,
foreground color. Always use clip shape, not corner radius. Always use tab, not tab item. And then
tab item. And then agent skill from Antoine. Use foreground
style, not foreground color. Use clip
shape, not corner radius. Tab API here.
Uh, use button tap gesture. Good idea.
Don't use tap gesture. Where's that come from? Command F in my file here on tap
from? Command F in my file here on tap gesture. Oh, never use tap gesture. Use
gesture. Oh, never use tap gesture. Use
buttons.
And so, uh, and and like he's got references galore. You can go and read
references galore. You can go and read about the things he's made with his his thing. And I don't understand it. Like I
thing. And I don't understand it. Like I
don't understand what he's trying to trying to do. Uh, yeah. It's it was it was strange. You can read through his
was strange. You can read through his his stuff, his ideas, and just see how many like came from my stuff. like place
vlog into interview model similar. So
let me test it. I'm gonna command C that command F my file. Oh look the exact same words. And then what happens? He he
same words. And then what happens? He he
I I don't get too angry folks. I really
don't. He then says in the license copyright C Antoan Funlay.
I I I genuinely thought he was my friend and this happened and I just feel like a gut punch that he's just taken my stuff and then just said, "Oh, made by these
people here with articles from whatever." Yeah, sorry.
whatever." Yeah, sorry.
It Look, I don't want to dwell on it.
It's It makes me um [clears throat] Yeah, doesn't matter. It Yeah, I hate it. I I'm disappointed. That's where
it. I I'm disappointed. That's where
it's come to.
>> [laughter] >> But I don't want to dwell in it. Um,
now take a drink of water. Sorry folks.
I genuinely believed [laughter] believed that we as the iOS community were better than that. Um, that we wouldn't just
than that. Um, that we wouldn't just take stuff, not ask like I don't know. Um, yeah.
Anyway, I'm not going to dwell on it.
Um, I have my own Swift UI skill. Um, I
haven't released it. It's just for me.
Maybe I will release it. Uh, it is, uh, I call it Swift UI Pro. It's here. And,
uh, it takes my stuff, like my actual stuff, made by me, not uh, you know, swiped. Um, and breaks it down based on
swiped. Um, and breaks it down based on things I care about, like here's accessibility stuff, for example. Um or
here is uh data or design or hygiene or navigation or performance or whatever.
Um using my stuff just you know written by me.
Um I might open source it. I don't know.
We'll see.
Anyway, that was a bit of a random rant.
Sorry. Uh let's focus on the good stuff, which is why you're here. No one's here for um horrible stuff.
Uh Bob, did he do this? I mean, if AI did it, it would have to summarize in exactly the same way. Um, which would be unusual. AI tends to rewrite things as
unusual. AI tends to rewrite things as it goes.
[sighs] Anyway, let's stay in the positive stuff, shall we, folks? You can make skills. I might even open source my
skills. I might even open source my skill and you can try it out if you want to or make your own skills. It's it's
fun. It's fresh. It's open. It's uh
Okay, try. All right, let's focus on stuff. Um, so you've seen ways we can
stuff. Um, so you've seen ways we can use AI to write stuff from scratch.
You've seen ways we can do AI to uh review code by just saying please review my code and it might have a go. It'll
have a go and it will find things. I've
shipped stuff from years ago and said review my code and it's gone oh there's bugs here and here like damn that's been in production for like a year now. It's
found it and and fixed it for me and that's remarkable. I love that. And and
that's remarkable. I love that. And and
uh even if you're like no I never want to use AI to write my code. Fine. I
absolutely respect that view, but try code review. Can you spot any bugs? Can
code review. Can you spot any bugs? Can
you spot any edge cases I hadn't considered? Uh give it a go. So I
considered? Uh give it a go. So I
recommend you give it a try.
Uh you can also if you want to uh use AI to write unit tests and what you'll find is it's very likely uh to write lots of tests.
Very often not great tests. Like it'll
it'll go a I've written a hundred tests.
Um, and it's not necessarily guaranteed to uh be great at that. Uh, and yeah, is what it is. You can try it, but give it some direction. I do think you want a
some direction. I do think you want a human in the loop. Don't like, you know, some folks are like, "Oh, I my project has 95% code coverage." That means nothing. Means absolutely nothing. Uh,
nothing. Means absolutely nothing. Uh,
you might have a thousand tests and the all tests objects being made and destroyed. You want a hundred useful
destroyed. You want a hundred useful tests beat a thousand useless tests. So
give it some direction for code review.
Check out this. Check out edge cases.
Check out you know performance. Check
out scaling. Check out like uh you know order as it gets bigger and bigger and bigger. How will it scale well?
bigger. How will it scale well?
Whatever. Um yeah it's good at that but give it specifics.
Next up I want to mention other tools.
So I've talked briefly about quite a lot about Claude and Codex and briefly about Gemini. Um there are other tools out
Gemini. Um there are other tools out there as well. There are other tools out there as well. You know you can go ahead and say um in uh chat GPT or midjourney.
They're wonderful tools. They're helping
you with stuff. But please please make chat GPT fight you. If you don't do that it'll say you're absolutely right.
You're absolutely right. again and again and again. It's like just dude, push
and again. It's like just dude, push back. Fight back. Tell me that's a bad
back. Fight back. Tell me that's a bad idea. And I'm going to show you how I do
idea. And I'm going to show you how I do that. Okay. When I launch chat GPT here,
that. Okay. When I launch chat GPT here, um this is my uh GPT. I should say my kids use my GPT by the way. And so you can see uh the this is Charlotte making
her next game. She's trying to make this dice game um from Hacking Swift Plus.
She's trying to make it look good. Um
and that's great. So she's using fully. Having it in my account helps me
fully. Having it in my account helps me police it a little bit. I can see if they're trying to cheat at school homework, for example. Which is helpful.
Um, but what you want to do is in preferences or settings, sorry, these days, uh, you want to go to personalization and then here, give it
custom instructions. Make it fight you.
custom instructions. Make it fight you.
This thing here, that is my custom instruction I use for absolutely everything in the thing. I'll paste them to the chat area here. I can't. Rat's
too long. I'll paste it in like two chunks in the thing here. Uh, and you can have that and use it in your own stuff. It will fight you every step of
stuff. It will fight you every step of the way. It'll be brutally honest with
the way. It'll be brutally honest with you every step of the way. It's a bad idea. Here's where it will fail. Try
idea. Here's where it will fail. Try
this. Consider this. Whatever you want to just otherwise it will just glaze you. It'll say it's a brilliant idea.
you. It'll say it's a brilliant idea.
And this basically forces it into antagonistic mode. [laughter] It forces
antagonistic mode. [laughter] It forces into fighting mode. And it means when you're bouncing ideas off it, how about this? How about this? it will push back
this? How about this? it will push back hard and say, "This bit's good. This
bit's where it falls down. Try this
instead." And it will help you uh navigate your app idea through.
Otherwise, it'll say, "What? You want to make a to-do app for cats? No one
thought of that. Brilliant idea, right?
Make it fight with you." And you can see I also use the um efficient tone. Um
stay straight to the point, not trying to uh witter on at me warmly calls it these days. Um, so GPT again, very
these days. Um, so GPT again, very powerful tool for working with ideas.
Great helping you refine app ideas. Oh,
it didn't post both parts. Oh, no.
Sorry. There's only that bit there.
There's not really a lot to it, you know. Um, you can see it on the screen.
know. Um, you can see it on the screen.
Just zoom in and pause it, whatever. You
can figure it out. Uh, but make it fight you. Make it fight you. It It'll help
you. Make it fight you. It It'll help your app be stronger. It'll spot the weak points. It'll spot the parts that
weak points. It'll spot the parts that are problematic. It will spot the parts
are problematic. It will spot the parts that could be stronger. those parts are shaky, the parts that don't make sense, are parts you're lying to yourself and help you refine it. So, I recommend that very very much for GPT. Um, I also use
midjourney. In fact, both my kids use
midjourney. In fact, both my kids use majour as well. My wife use mid journey as well. We're always using midjourney.
as well. We're always using midjourney.
Um, and so we've got a midjourney here.
Uh, this is not myself, other people's stuff. They go to create. You can see uh
stuff. They go to create. You can see uh this is my wife's working a puzzle game right now and she's experimenting with different art styles. Um, this is other art styles. This is this is this is my
art styles. This is this is this is my eldest Sophie. She's working another
eldest Sophie. She's working another game right now, a sprite kit. Um, doing
some stars here. And so you can create wonderful artwork here and then give it to Claude and say, you know, make that or use this, whatever. It helps you uh do better, helps you get faster stuff
and gives you a good better start. Uh,
and we use this a lot. We've got a lot of history. You know, one of the stupid
of history. You know, one of the stupid things um I made from the I don't know that the the kids AI thing. I made this whole website um called Barksmiths which
is a fake website which is at the bottom here cyber security skills course um about dressing your dog [laughter] um and you can get dog onesies and dog
hoodies and dog jackets and Midjourney of course made a whole bunch of pictures of dogs in in very cool hoodies actually well done very nice hoodie um yeah I find it very very good for that and and
again sometimes it's pure ideation Sometimes it's like just have a go, see what you think. And you go, that's that's terrific. Well done. And you can
that's terrific. Well done. And you can see um Charlotte working through ideas with GPT here, trying to say, you know, sort of the credits or make it brighter or put the about page in there. She's
just noodling around, trying things out, seeing what she thinks, and eventually gets some ideas. Um, there you go. So,
just trying things out and it lets you brainstorm. Show me how this might look.
brainstorm. Show me how this might look.
And uh, it it looks good somewhere in there. Michael, I can't say where, but
there. Michael, I can't say where, but look, Ara, the actual dog's name is in there somewhere. It's made with love.
there somewhere. It's made with love.
Anyway, um, so yeah, Mid is fantastic for that, for helping you come up with ideas. Again, it's it's a brilliant way
ideas. Again, it's it's a brilliant way to start firing off ideas in your head, which you might go, that sucks, that sucks, that sucks. And that's helpful, too, because sometimes knowing what you
don't want to build is half the battle.
You can then go, okay, well, these ideas will suck. I'll do this one instead. And
will suck. I'll do this one instead. And
so even if it isn't help for you helpful for you like directly and immediately it's still helpful to get you moving. So
that's other tools I use. I rely a lot on GPT for refining ideas. Push it push it push it make it fight with you and then Mjourney for coming up with you know logo ideas or design ideas and
similar which I might hate but again that's half the problem right now. Now,
what you'll find is as your projects grow bigger and bigger and bigger, you'll start to hit Oh, hello dogs.
You'll start to hit a significant problem, which is Did you see a dog in Barksmith, did you? Suspicious. These
are my two dogs. This real ones at a real area there. This is Luna, her sister. That's right. Good dogs. Um, as
sister. That's right. Good dogs. Um, as
your code gets bigger and bigger and bigger, um, it starts get harder for AI to keep up with it because you got a huge, huge project. Hey, wait a minute.
Wait a minute. Come on. There you go.
You come on. Grab it. Right. Out. You
go. Enough streets. Let's get out. Go.
Go. Um, as a project gets bigger and bigger and bigger, it starts it harder for AI to work with it. And so it starts to become really really critical. You
plan ahead. Uh, and so if you look at like um some of my apps for example, uh, work kickstart. If I ask it, uh, how
work kickstart. If I ask it, uh, how many lines of code are in this thing right now? I was using clock, it'll
right now? I was using clock, it'll count them all and it'll say 109,000 lines of Swift code are in there right now. Or if I went to um activate that
now. Or if I went to um activate that app I showed you earlier, um that's going to have what uh 58,000 lines of Swift and then
35,000 lines of PHP, whatever. Um so
there's lots of code to manage here and what'll happen is um it'll burn through your context window so much faster. Now
again, I have the Clawude Max plan. It's
very, very hard for me to hit that plan.
I'm more likely to hit the weekly limit than I'm the 5h hour slot limit. Come
on, D. Enough. No, no, no. I'm more. You
had two already. Scour
window, but I'll often come close to the sort of week-long window. Um, and so when you have these larger code bases, it becomes much more important to help
Claude or help Codeex or help Gemini find its way around. Make a document describing or have Claude make a describe it. Make one of them do it
describe it. Make one of them do it saying here's a directory structure.
Here's what how this thing works. Here's
where this thing is. Here's why this choice has been made already. It's like
your plan for the long term. I think
Rudrank Ream who's done a lot of wonderful wonderful work with AI uh in Swift and foundation models in Swift and uh GPT and and OpenAI whatever with Swift um wonderful wonderful guy very
friendly too go and check him out buy his books too um he actually says to make a journal you know tell it over time track this thing so you know what it's doing over time it's very very
similar here tell it what it's doing the choices it's made why it did that and so it remembers for the future and in fact The Ralph Wigum approach I mentioned earlier has that actually in there as
well. Keep track of what you've done.
well. Keep track of what you've done.
Explain what happened and move on. Spec
driven coding. Yeah. And and and and you know recently the thing from Anthropic saying we've made a C compiler with only $20,000 of tokens working for like two weeks and it wasn't a great compiler but
it at least vaguely um worked. I'm
sorry. Rudrank Ram. I'm sorry. Um uh and firstly great it shows you I think it's very worth reading their report on that because it shows you upfront
the problems with LLM. It didn't do a great job. It took 20,000 tokens and and
great job. It took 20,000 tokens and and uh tweaks whatever took a long time and still wasn't perfect by a long way. And
that is for a C compiler which A isn't far off being taught in many university school curriculums because they're kind of standard build a compiler problem. B
has been around for 60 years or something and C is extremely wellsp speced down open source code. You know,
you look at uh GCC or uh LLM, LLVM, sorry. Um we know how these things are
sorry. Um we know how these things are built. They've been built many times
built. They've been built many times previously and so it had a lot of code to read from, a lot of specs to read from and it still struggled because the size of it is so so big. But still, um
EGH is correct. Specs matter. Give it
specs to work with. it'll do a much better job of making them happen for you. Um, so that that's true here too.
you. Um, so that that's true here too.
As your project's bigger and bigger and bigger, put documents in there explaining what it does. There's one
here in Hack, there's one in Kickstart, just explaining what these things do. So
if I ask for a bug fix somewhere or or a code review somewhere, it doesn't go, "Where's that file going to be?" It just goes through and uh uses it and finds it very, very quickly.
What else do I talk about? I'm very
conscious your time. Sorry folks, I planned like an hour and 90 minutes. I'm
already approaching two hours. I
apologize uh for that. Um
what do I say before I wrap up? Um
firstly um please don't get locked in with the AI bros. The first LLM you try isn't just
bros. The first LLM you try isn't just the best one out there. Next week Opus whatever ships week after whatever ships the week after that whatever ships. It's
extremely fast. This video is what this is the 21st of February 2026. I think in a month from now you'll be like, "Ah, that video is almost out of date or six months perhaps." It'll It's that quick.
months perhaps." It'll It's that quick.
It's evolving so very, very quickly. And
that means what I've shown you today is going to change. And certainly in June this year when Expo 27 ships, it'll change again a lot. And that's okay.
Don't just get locked in and just I only use Gemini. Why would you do that? It's
use Gemini. Why would you do that? It's
a weird thing to do. You know, find what works for you, what vibes well with you, and stick with it. Have fun. And then in six months time you can change folks.
You can change your mind. Uh second
thing I want to say is um I said it earlier I want to repeat it. I genuinely
believe you got to keep an AI in the loop. A human in the loop. Sorry. The AI
loop. A human in the loop. Sorry. The AI
is great at doing a whole bunch of work.
Have a human just go is this is that the right choice here? Is this the right choice here? What about this? Just a
choice here? What about this? Just a
second guess the AI. This is the right thing because yes AI can write you saw it do a whole chess thing. Not
brilliantly but it got there in the end.
um to make it a thing. But a human comes in and says, "Actually, no. The soul of my app, the heart of my app is this.
It's this." And and that belief, that direction, that idea is only you because AI has no idea what matters. AI has no idea what a soul is. Hasn't got a soul.
Okay? Even though there is sold or MD from uh Peter Steinberger, um there is no soul. He has no idea what's going on.
no soul. He has no idea what's going on.
That's what you bring to the table. All
that love, all that care, all that polish, all that refinement, that's what you bring to the table. Please don't let that be delegated to AI. It will do a
terrible, terrible job. Uh, last I guess before I can do some questions, I'll say again, I said it earlier, I want to repeat it very clearly. Um, Xcode team, well done. Honestly, you know, I look on
well done. Honestly, you know, I look on the app store and I, you know, look up Xcode and I just see a wall of, well, I call it crap. Three star, 2.9 stars,
whatever. And and and it's not a big
whatever. And and and it's not a big team. It's not a big team. They do their
team. It's not a big team. They do their absolute best. And they're working very
absolute best. And they're working very very hard to get better and better and better. And I I honestly believe Expo 27
better. And I I honestly believe Expo 27 is going to be huge. And I cannot wait to see it. Genuinely, I they they they're working so hard and I reckon they're going to pull a massive rabbit out of their hat again this year in
June. I can't wait. I cannot wait. It's
June. I can't wait. I cannot wait. It's
going to be so much fun. Uh I hope I get to see it uh sooner rather than later.
Write review or I got already. See, I've
already written this five star gets better every year. This is this is a while ago, wasn't it? This was this is I remember what it was, but I have a fivestar review. So, yeah, it's all in
fivestar review. So, yeah, it's all in there. Submit again. Have a updated
there. Submit again. Have a updated review for X code 26.3. [laughter]
Um, I honestly well done to the team and the the work they're doing right now is through the roof. They they do such great work and it's going to get better and better and better. This year is going to be epic. I cannot wait to see
it. I'm just so psyched for it.
it. I'm just so psyched for it.
Okay, [laughter] that was like a full almost two hours of me mostly just fire hosing you in the face with uh Xcode
Agentic stuff and Claude and Gemini and Ralph Wigum and agents and occasionally skills. Um, apologize for that middle
skills. Um, apologize for that middle bit. Um,
bit. Um, any questions who can help you along?
Um, I'd love to help you out and uh answer what I can here. Folks seem very happy.
Any updates in the Swift AI playbook? So
that is my new book which is not about building with AI but about having AI in your stuff. So go to store swift AI
your stuff. So go to store swift AI playbook available now and it right now chapter one's there. It's a massive chapter just on foundation models.
Chapter two is on uh create a mail. It's
half finished. It'll ship tomorrow I believe with an update for the first part as well because of foundation models in 26.4 before has gotten a lot better and you can now do things like track token usage and stuff which is
very very cool. Uh which model is the best of UI? You're going to get Ian a whole bunch of answers and what will happen is AI Bros will say my LLM is the best one because I've chosen it and it's
therefore blessed by me. Um look folks try them out. Which one do you vibe with? Which one feels like the right
with? Which one feels like the right thing for you? Which one does the right speed or feel or code for you? Try them
yourself. I tried a bunch of them.
settle on Claude, but I might change my mind in the future. I'm open to changing my mind freely. What I would say is that uh the anthropic team and the OpenAI team aren't doing a particularly good
job of Devril right now. I hear from none of them ever. At least in Gemini, you'd like Peter Fia who does great work. He's trying very hard to encourage
work. He's trying very hard to encourage folks to try things and noodle around and experiment. He's doing a a smash hit
and experiment. He's doing a a smash hit job for Gemini. Anthropic and OpenAI, they're kind of Yeah, they're just noodling around by themselves, naval gazing a bit. I think that's what it
feels like to me. And I think both of them need to do a lot lot better to reach folks, show them how to do better, how to ship better stuff, make better stuff, use their tools, of course, because they're dev stuff, but they're
not there yet. They're both kind of lagging a little bit on that front.
Uh, should I build apps without AI at the 100 course? Yes, you absolutely should. Use your skills. Build something
should. Use your skills. Build something
great that you love to build, that feels great to you, that solves problem for you, and then say, "Hey, AI, review my code. Hey, AI I can do this hard thing I
code. Hey, AI I can do this hard thing I couldn't do otherwise." But you've got that fundamental in place and know why things work the way they do, what dynamic type is, what, you know, voice
over is, what screen resolutions are, why they matter, you know, how how a split view for navigation different on iPad and iPhone. Without those bits of knowledge, it's much harder to drive LM
to get great results.
Nice [laughter] job keeping a Obel X is my I think my number one um AI bot reporter on the um forums. They are relentless and we're at the point now where they're trying to be helpful for a
few posts and then post spam thinking I won't ban them. But no, we we Obelix and I we ban them regularly from the forums. Um activate good for our tribe. I don't
know what that means. Um, Hackivate
honestly is probably the best app I've ever written. It is a joy. It's a game
ever written. It is a joy. It's a game where you have to hack the computer. And
not like fake hacking, like, oh no, I'll buy password cracker 3, not password cracker 2. You've got to actually solve
cracker 2. You've got to actually solve problems to break the computer and do things. It starts off quite easy like
things. It starts off quite easy like uh, you know, here's an audio one or here's a logging one or is a here's a image one. And it gets harder and harder
image one. And it gets harder and harder and harder and harder. And there's
things in here like Linux terminal stuff or B 64 or encryption. It's just vast and growing quickly. So, I recommend you try that out and see what you think. Um,
this one here, itsybitsy. I love this one. Itsybitty. So, in this one, you're
one. Itsybitty. So, in this one, you're given a challenge. I'm not sure you can hear it on my speakers or not. You
probably can't hear it. I apologize. Uh,
speaker up. In this one, you have an audio. It's like this.
audio. It's like this.
>> Our next target is New York City.
>> It says, "Our next target is New York City, but they're based in the UK, so something's wrong. Can you find it?" And
something's wrong. Can you find it?" And
the tutorial here walks you through how to solve this. There's a technique called least significant bitography. So
when you extract all the bits from this and fuss with them, you realize they're hiding [snorts] data in the audio. And
when you visualize the bits, and it'll teach you down here what to do, u visualize the bits. It spells out the word Cardiff hidden away in the audio.
So it's teaching you real crypto security techniques as a game basically.
Anyway, it's so much fun. Um, where off?
So who owns AI generated code? That's
currently open question. Um and so right now it's looking like basically the thing around copyright for AI is transformation. There's been a couple of
transformation. There's been a couple of suits about this so far and it's very very early but it appears to be about transformation. If you take
transformation. If you take I was going to say my agents file. If
you take one of my books and put it online without transformation like my words that's not allowed. That's the
same stuff. You can't do that. It's
illegal against the law. uh if you train an LLM on my words and the words of a million other people actually more than that probably 50 million other people and transformatively create new stuff
that is currently looking like it's going to be allowed in copyright law and so it makes things complex like when I release code under the MIT license for example it should be credited to me AI
learns from it transformatively makes it is it close enough not close enough I don't know it's kind of iffy right now it's not decided it's up in the air what I would say is there is currently
literally paying out right now the anthropic copyright settlement.com for authors because Anthropic uh took a bunch of stuff without asking and have
settled. They said okay we're going to
settled. They said okay we're going to pay out everyone we scam everyone here scanned not scammed scammed. I said
scanned. Definitely scanned. And I'm in here. My old books are in here. If you
here. My old books are in here. If you
look at Paul Hudson, you'll find me.
Years ago, I wrote a bunch of books on um Linux. Oh, apparently I didn't. They
um Linux. Oh, apparently I didn't. They
filed a thing already. Probably hasn't
seen anymore because I filed it. I put
in the right place. Title. Oh, author.
Sorry, I'm being silly. Um Paul Hudson.
Uh they took my books and scanned them into um here you go. Abundor unleashed.
Um PHP nutshell whatever. uh they just scanned the whole text and and trained on it and now they're they're paying out which is very nice of them. Um that
might happen for code. I don't know.
We'll see. I don't know is the answer but it's about transformative.
H [sighs] more questions. Sorry. Um native and
more questions. Sorry. Um native and yeah so um native is just so much fun. I
firstly I love writing native code. I
I'll know when I'm bored of life with coding because I won't won't want to go to like file new project and s code anymore. I just get whenever I do that
anymore. I just get whenever I do that file new project, I'm just like fizzing with energy. I love it. I love it. I
with energy. I love it. I love it. I
love it. I can't love it anymore. Um,
and yeah, I love writing native code.
Um, React's an interesting one because we look at like the clawed app. This is
the clawed app on my Mac here is running on my other clawed max account.
[clears throat] Um, here um, which I'm trying to cancel.
Actually, you see it's kind of loading.
Okay, it's finally loaded. My plan ends days because this is my uh other one, my spare one. Um uh and it it it didn't
spare one. Um uh and it it it didn't launch very quickly, right? It takes
time to load and it kind of took time to appear. And if you look at what it's
appear. And if you look at what it's doing uh in activity monitor um like for CPU um it's it's 110% CPU just just it
just it's just sitting there doing that and it's just 164% CPU time. Uh and it's electron. I I don't know what evil they
electron. I I don't know what evil they are doing to use so much CPU time constantly. And then uh it'll be in here
constantly. And then uh it'll be in here somewhere too. But memory presumably as
somewhere too. But memory presumably as clawed ter that's not bad actually.
That's not bad. But it'll get more of a time as it kind of vaguely works. It'll
have a go at doing stuff. Couldn't
connect to stuff. Cool. Um and so uh the uh Claude currently isn't great. And so
they're using Electron and that's you know the people making AI stuff. They
still using Electron for some reason. I
don't know why. Anyway, uh the codeex app is also electron not to try and dump an electron and better like you can write bad software in Swifty or an
Electron and you can write good software in both. The uh Codex team appear to
in both. The uh Codex team appear to have worked very hard to make uh their version of Electron significantly faster which is great. Someone did mention I saw it fly past real fast that the uh
chat GPT app is written UI. It is. It
is. Uh I love that. makes it really really fast. Um what we salmon salad
really fast. Um what we salmon salad ideas from one of my kids presumably which is aren't poisonous to dogs. Oh my
children. Um so and and and so it it is it's um swift so do I which is great. I
love that. And it does make it obviously a lot faster more native. You can see it's all liquid glassy and stuff which is very very nice. U and so the team have done a really really good job there. Um sometimes it isn't quite
there. Um sometimes it isn't quite right. sometimes like I don't know how
right. sometimes like I don't know how many people actually working this right now. Um but if I did like um uh how do I
now. Um but if I did like um uh how do I solve?
How do I use dynamic type and swift UI swift UI? Sorry. Give me
example code. Be brief.
Uh it'll come from code and you can press copy paste in. Now what I've noticed annoyingly if you press here nothing happens.
And the annoying thing is because I know it's shifty I know why nothing happens.
This bit works. And the copy button works but the bit in the middle doesn't work because it haven't got content shape of wrecked. So habier stooto nacho sto
people I love very much they woke work at open AI if you're watching this stream in the future please use content shapew on that button because it's code I know exactly the problem is please make me click in here as well to click
in the exact part of the thing I want to copy. Um yeah, it's a small small thing
copy. Um yeah, it's a small small thing but it's a DUI. So hey anyway um what else we going to look at? Uh
how I try XO Xcode build MTP is a wonderful project. I think it was got
wonderful project. I think it was got acquired by Sentry I want to say. I
think by Sentry um and so yeah they do wonderful work there. So it's fantastic and I'm I'm really glad to see um Capsoft do so well. So that's great. I I
want to see more. I want to see more tools from Swift developers for Swift developers. Come on folks, get out there
developers. Come on folks, get out there and build stuff.
Uh what else? What else? What else? What
else? Uh I'm sorry. I tend to just talk to myself, folks. You know I do. Uh
ah skills. So, so, so skills and agents are very different things. Agents, an
agents file, like I had my Claude MD file, which I recommend you use, um just sits in your repository or in your home directory. Every piece of work that
directory. Every piece of work that happens is run through that claude code.
every single one. So check this, read the file, apply the thing every single time. And it's applied in Xcode too. You
time. And it's applied in Xcode too. You
have that clawed file in your home directory or in the project directory, it'll be read by uh Xcode automatically as well as it's working. All future
stuff. Skills are more sort of done. Now
run this skill. Now review my code. Now
do this. Now do this as a one-off thing by you. That's the best way to use
by you. That's the best way to use skills. They work very, very well for
skills. They work very, very well for that. They're done when you want them.
that. They're done when you want them.
So you wouldn't want to have a huge skill running all the time. It creates,
you know, context problems. You want to keep your skills again fairly short, you know, longer than agents perhaps, but still fairly short. Sorry, short. Uh and
then run them when you need them. Like
I'm ready now before I commit this thing. Run the skill, check the code,
thing. Run the skill, check the code, send it off. And it's great for that.
And you know, in my agent file, I'm like, you know, please, you know, make sure Swift Lint comes back clean. Just
keep the code in a hygienic clean state.
It works very, very well for that.
Any more questions, folks? Sorry, I'm
well at now at the twohour mark. Um,
apologize. It's been longer than I I anticipated. Um, so I'm I'm glad uh you
anticipated. Um, so I'm I'm glad uh you all seem to have enjoyed it. I think
folks learned a lot along the way. Uh,
which is great. There's always new things to learn. I'm learning new things all every day. Uh, any thoughts on Open Claw? Um, the only thought I have for
Claw? Um, the only thought I have for Open Claw, and this I've known Peter since like 2018. Okay. I had dinner with him like in October in India. Um
he has talked in the past. He's had a hard time. Okay. He's talked in public
hard time. Okay. He's talked in public at conferences about some of the hard problems he's faced. The only view I have on open claw is this. I desperately
want Peter to be happy. That's it. If
that's through work, if that's through going home and shutting down and hanging out with friends, whatever, I don't really care. I just want him to be happy
really care. I just want him to be happy because he's had such a hard time. I
want him to have some joy in his life so that when he's finished with open claw, he's like, "Yeah, I'm I'm happy." That's
all I want to hear. And open claw, I'm sure, is great, but I I'm very much a people person. I want people to be
people person. I want people to be happy.
Are there any cool events in the UK?
Yes, there are. In fact, I'm going to one. I've just been approved to a speak
one. I've just been approved to a speak there. I'm not sure I say that yet.
there. I'm not sure I say that yet.
Sorry. I have UK. This is an event which is unparalleled elsewhere in the world.
I don't know why no one else has swiped this idea yet. It works so so well. It
takes place in Aberris University. It's
the middle of nowhere quite frankly.
Sorry if you're from Abberiswith um of Wales. It takes me I live near Wales. It
Wales. It takes me I live near Wales. It
takes me three or four hours to get there. Okay. And you get to the town and
there. Okay. And you get to the town and you get this up to the university where it takes place and it takes place outside of university term. All students
have gone home. So you're staying on campus and student accommodation in the lecture theaters hanging out there for 4 days straight. And what it means is
days straight. And what it means is every day you have breakfast together, dinner together, you play games and the beers in the evening, you chat and make friends. And because you're all in this
friends. And because you're all in this place by yourself away from, you know, the rest of the world, like four hours away, you come knowing no one and you leave with friends. You leave with
actual great friends. And you look at the pricing. The pricing is ridiculous.
the pricing. The pricing is ridiculous.
Is it open yet? Okay. So, you look at the the pricing here. Uh it is £160 for an early ticket up to £220 here. And
then you look at the accommodation down here. It is £220 for three nights and
here. It is £220 for three nights and includes full breakfast. [laughter] They
feed you and you meet people and you get stuff. It is just I just wish more
stuff. It is just I just wish more conferences took this idea like get a venue somewhere in the middle of nowhere, get folks there, hang out and uh actually make friends because yeah,
you can you can learn code on YouTube or buy one of my books. Please do. Um but
actually hanging out with people and and sharing code and sharing excitement and seeing their code and sharing ideas, that's the real heart of it. And so I love events like this one where people genuinely do make friends even though they they arrive knowing no one and
leave with actual friends because they've spent so much time together.
I've played so many games late at night in the evenings. They like board games and stuff. It works well. Paul, come to
and stuff. It works well. Paul, come to NS London. I would love to come to NS
NS London. I would love to come to NS London. I would love to come to NS
London. I would love to come to NS London. They never talk to me. Never
London. They never talk to me. Never
talk to me. That's okay. But I'd love to come there. I'd love to talk well visit
come there. I'd love to talk well visit and say hello at least. Um anyway,
sorry. Uh how to keep my cont low for a large codebase. I said this earlier. Um,
large codebase. I said this earlier. Um,
I guess Chaba 13. Um, you provide it with a file like a table of contents.
Here's what all the files are. Here's my
structure. Here's why I've made these choices. It's like a reverse plan. Plan
choices. It's like a reverse plan. Plan
going back the other way. Keep that
around because that will guide it in the future. You say make this change. You've
future. You say make this change. You've
got a gigantic project. Doesn't matter.
It'll go and find the exact point. Now
get into leaks and stuff, but there's been a thing from Mark Gman saying that Apple use Anthropic extensively.
If they can do it on the UI kit codebase, you can do it on your to-do app. [laughter] Okay, they've got much
app. [laughter] Okay, they've got much much much bigger code bases than we do and they're working with it just fine.
And so it is possible, but it does take some discipline and some careful direction.
Anything else?
[sighs] Uh booking.
Um do both. It's not one or the other.
Like any job you apply for will ask you how do you use AI? Like what AI do you use? What I what do you find it works
use? What I what do you find it works well at? What do you find it works less
well at? What do you find it works less well at? What do you do when it has
well at? What do you do when it has problems? They'll ask you AI questions,
problems? They'll ask you AI questions, but they'll also ask you coding questions. In fact, I learned um a few
questions. In fact, I learned um a few years ago, this is genuinely makes me wa No, I've closed the chat. No, don't
worry. I already opened it real fast, folks. Um, uh, let me get the chat back
folks. Um, uh, let me get the chat back real fast. YouTube,
real fast. YouTube, where' I put it? Sorry. Content live.
There we go. Sorry. I apologize, folks.
I've gone to the wrong thing by accident. And that would be me streaming
accident. And that would be me streaming now. There we go. Pause. Pause me
now. There we go. Pause. Pause me
talking. Um,
I forgot what I was saying. While I
close my own window, I what I was trying to say in the first place.
[sighs] There we go. That's that's why I come and watch it live, folks. Ah, yes.
Sorry. I learned a few years ago, this is quite funny. I was at NS Spain, maybe 2019 or something, maybe I've gone. Um,
and uh there was a competition to win like an Apple TV or something and it came down to take this quiz about um Swift and the person with the highest
score gets Apple TV. And um the score was very very high. And um I kind of came in and
very high. And um I kind of came in and smashed the score. Um I really demolished the score. Uh and the reason was because you know this is apparently
my life. Um they had gone to my site
my life. Um they had gone to my site gone to slashin questions and pretty much taken these questions. They'
rewritten them since then. It wasn't
exactly right copy and paste. Um and
this basically walks you through common interview questions and it actually press you get guidance as well and uh if you um have a hacking swift plus account
you get answers from me detailed answers walking you through some things in here.
So if I sign in um yeah anyway you can watch it here in detail and I'll walk you through how to answer the question fully and properly. Um it it gives you the the ammo you have to talk about AI
stuff and nonI stuff and they want to hear both. You can't go in with a I shut
hear both. You can't go in with a I shut down AI every opportunity view because the chances are they don't. And equally,
you can't really go in saying I only use AI. I have the first do what I'm doing
AI. I have the first do what I'm doing because they want to hear someone who knows what they're doing. And so you want that double whammy of both. Uh it's
it's not very easy. But uh keep at it.
Early L format days. Yeah. I I was in list format since issue 30, which was Yeah, I don't want to think how many years ago. 20 more years ago. Yeah.
years ago. 20 more years ago. Yeah.
Uh, how long till natural input completely replaces code? No, code is always going to be there. You know, when we think about how woolly English is, um, code's going to be there. Question
is, will we want to see the code in 20 years time? I'm not sure. Um, will it be
years time? I'm not sure. Um, will it be more like assembly is today. We don't
want to see assembly code. We carry the high level language maybe. But I think code's safe for a very, very, very long time yet. again could be LLM seeing it
time yet. again could be LLM seeing it rather than us but it's it's quite safe.
Uh I think a couple more folks as I'm going on a bit longer than I intended to which I apologize for again. Um let me try and do a handful. Uh real fast. Uh
can I remember a longer release can X code? Ah hey Eric. Uh Eric is a a
code? Ah hey Eric. Uh Eric is a a wonderful wonderful contri contributor to our community. Um hopefully you already follow him on LinkedIn because he has a lot of great stuff there, particularly right now around the age
control stuff for um children. Um
Apple still likes, you know, shock and awe. They like the whole dubdub DC bang
awe. They like the whole dubdub DC bang Xcode 26. Who knew? Great stuff. I get
Xcode 26. Who knew? Great stuff. I get
that. Um Claude Codeex Gemini seem to ship almost daily. [laughter] Like
sometimes twice a day you'll get a claude update coming through, right?
They do a lot of updates and it means they're iterating extremely quickly. Uh
Xcode 26.3 with the AI stuff was very much shock and awe. RC2's changed a fair chunk. Look at the release notes of
chunk. Look at the release notes of fixed fixed fixed fixed fixed. There's a
lot of fixed stuff in the release candidate 2 because the RC1 wasn't really our release candidate at all. It was just a beta with a brand name. Uh and uh that's a choice. Um it's an interesting choice,
choice. Um it's an interesting choice, not one I would have made, but I'm glad they're moving again. I'm just so so glad they're moving. That's what I care about. doing things. The team seems
about. doing things. The team seems psyched and ready to go and uh I'm really looking forward to see what they do. So, no, I can't think of a longer
do. So, no, I can't think of a longer release candidate, that's for sure. It
might be in there for another week or two, I think. Um but it's going to be out soon. They got to hurry up, though,
out soon. They got to hurry up, though, because 26.4 beta is out now. So, I've
got to have 20.2 stable, 3 release candidate, and four beta at the same time. It's like this is this is too much
time. It's like this is this is too much information. I don't want this many
information. I don't want this many versions of Xcode, quite frankly. Um you
know, get a move on. And they're also going to try and figure out a way of keeping, you know, codeex and claude up to date because right now I've seen some folks doing sim linking to try and keep the claude code and the Xcode cla code
up to date. Um, it's challenging right now and I'm not sure they've got a solution for that just yet.
I spent some time feeding Claude Co screenshots with controlV.
You just drag them in, buddy. Just drag
them in. Just like take them in claw.
just pull them in like um delete this and then say um I don't know what did I have before desktop uh what I have flip
the stuff here um [sighs] here make the UI look like this I don't know I don't even build examples too doing anything um just drag it in
it's not even that hard to do uh it'll just read the file and go okay there you go um [snorts] and uh work with it okay so it's a new clause it's going to re read the project first ah I've got the MCP as well. Whoops. Um, and so it's
gonna harass me again. Xcode ls and similar. Um, just drag it in. It's much
similar. Um, just drag it in. It's much
easier and it will talk to it and read the file directly. Um, in a large locations that tend to divide in small parts and have air. Absolutely. One
thing I didn't mention here, um, and I if I had more time, I would have done past two hours. Um when you have a situation where you're working on the same project with many agents at the
same time um it will trample on each other quite a lot. It'll get things wrong as I change it here change it here. You don't want to go down the
here. You don't want to go down the route of git branching. Git branching is a very very bad idea with multiple agents because they'll try and get branch at the same repository. Again
overlap happens. There's a very helpful thing called git work trees which are more separate from uh a branch. they are
able to have multiple checkouts at the same time, but they're more efficient than a full git clone. They're much more efficient than that. So, they take up less space and they work faster and they let you uh work more effectively. And
so, if you have say four clothes, four clawed codes or four Geminis or four um codeexes, tell it, hey, please use uh
sub agents, make them have their own work tree. It'll do multiple checkouts
work tree. It'll do multiple checkouts there in the work trees. Peter likes
them. Hey, Peter, love your work, man.
Seriously, I I don't use Gemini for coding, but in terms of Devril, unbeaten. Unbeaten. You're incredible. I
unbeaten. Unbeaten. You're incredible. I
love it. Um anyway, so workers are very powerful for that. Seriously. And it's a it's a smart way of working. Um because
they can all work together on similar kinds of things like regular vapors would without trampling over each other, which is very very powerful indeed.
Yeah. I mean, what we it's built into into um git, right? This is I regret enabling [laughter] the MCPS at this point because it's harassing me for all
random questions here. Uh oh, I I mentioned earlier that um the history thing in XO isn't great because you got to have Git enabled. Um Claude has a saying I'm sure Codex does too. I'm sure
has something similar. Um when you're working with stuff, if you press escape twice, it brings up a history of options from previous memories. So you can say uh escape escape and then go back to
like here or here and it'll wind back the code or computation to a particular point. Now this does not replace git.
point. Now this does not replace git.
You want to have git as well. But if
you're like just experimenting down this way, you don't want to go into git just yet. Try try try. Okay, that sucks. You
yet. Try try try. Okay, that sucks. You
wind back three changes with the conversation or the code or both by hitting escape twice. Very very helpful to have. All right, last question folks.
to have. All right, last question folks.
Seriously, I can't handle anymore. It's
it's 2142 here. go to bed at some point.
I'm flying tomorrow to the US, so I've got to go to bed at some point. Uh, do I see any issues with all the new AI features being put into uh ah, no, no,
no, no. I mean, you can configure these
no, no. I mean, you can configure these tools to to read your pull requests. You
know, Codex is very, very good at that.
You can talk to Codex and say, "Hey, here's my repository. Hook into it. When
a PR comes in, just auto review it." And
it'll do an auto quick code review uh for you and and give you feedback and say, "This doesn't look right. This
isn't me." And uh you might uh ignore it, you might listen to it, but it's it's there to work with. And again, it's another data point in your job. We all
want to ship the best software we can.
We want to ship great, polished, loved software, and it's another tool in the arsenal, another code of view. You can't
go wrong. I definitely connect them to CI for um PRs and stuff. It works very, very well for that. Okay, so um we're done. [laughter] I'm sorry. Thank
we're done. [laughter] I'm sorry. Thank
you so much for coming along. Thank you
so much for the asking your questions.
I've done my best to answer as many as I can. I can't stay on night, I'm afraid.
can. I can't stay on night, I'm afraid.
Um, if you like the video, please share it. I hope you all learned something
it. I hope you all learned something along the way. Um, I'm going to look at sharing my uh skill this thing here. Um,
I might polish it up slightly uh and then put it out there, but I'll I'll mention it soon. And uh I'd love to have your feedback. See what you think
your feedback. See what you think because I think it's pretty damn good.
Um, but there's always ways to make it better. And so I'll I'll I'll share that
better. And so I'll I'll I'll share that one soon and uh see what you think. If
you have any questions, you can of course get me on Twitter or Masterdon or if you have to threads occasionally, Blue Sky. Um I've got a Slack workspace.
Blue Sky. Um I've got a Slack workspace.
Got this nice new shiny book out.
[laughter] That's my plug there. Um anyway, thanks coming folks. Genuine. I do appreciate
coming folks. Genuine. I do appreciate it. It's been a lot of fun being here
it. It's been a lot of fun being here and talking AI with you. Go and make something amazing. Take care folks. Good
something amazing. Take care folks. Good
night.
Loading video analysis...