A step-by-step guide to developing your first Mac app.

How I Built my First macOS app with Cursor - 34-min Tutorial

Estimated read time: 1:20

    Learn to use AI like a Pro

    Get the latest AI workflows to boost your productivity and business performance, delivered weekly by expert consultants. Enjoy step-by-step guides, weekly Q&A sessions, and full access to our AI workflow archive.

    Canva Logo
    Claude AI Logo
    Google Gemini Logo
    HeyGen Logo
    Hugging Face Logo
    Microsoft Logo
    OpenAI Logo
    Zapier Logo
    Canva Logo
    Claude AI Logo
    Google Gemini Logo
    HeyGen Logo
    Hugging Face Logo
    Microsoft Logo
    OpenAI Logo
    Zapier Logo

    Summary

    In this tutorial, the creator walks you through building a macOS app using Cursor and Xcode. The video covers various aspects from the initial setup of development tools like Xcode and Cursor to creating a basic functional chat application. Learn about the benefits and drawbacks of using AI in programming, including how to utilize AI tools like Cursor for coding efficiency. The tutorial also highlights the importance of understanding the fundamentals of Swift UI to effectively leverage these AI tools, offering a practical introduction to macOS app development for beginners.

      Highlights

      • Learn how to create your first macOS app using AI with a step-by-step guide. 🎥
      • Explore the advantages of building Mac apps, like native design language and offline capabilities. 📱
      • Master the basics of using Xcode and Cursor to develop and debug your applications. 🛠️
      • Understand the role of AI in coding, including how to leverage it effectively to overcome common programming errors. 🤖
      • Get tips on how to keep your development process organized and efficient with practical strategies. 📋

      Key Takeaways

      • AI can speed up macOS app development but requires some understanding of code basics. 🧠
      • Tools like Cursor can automate many coding tasks, enhancing productivity. ⚙️
      • Testing and iterative development are key to creating functional apps, and AI can assist throughout the process. 🔄
      • Utilizing Xcode in combination with AI provides a robust environment for developing native Mac apps. 💻
      • Customizing your app's interface is easier with Swift UI, automatically adapting to light and dark modes. 🌗

      Overview

      Building your first macOS app with Cursor and Xcode can be an exciting journey, especially with the assistance of AI. The video introduces beginners to the world of macOS app development, starting with the setup of necessary tools like Xcode from the App Store, despite its low ratings. It covers the basics, including setting up a new project in Swift UI and understanding the core components of a Mac app’s design language, complete with sidebars and navigation bars.

        The tutorial emphasizes the importance of learning at least some coding fundamentals to make the most of AI tools like Cursor when developing apps. It explains how AI can perform many coding tasks, but designers and coders need to provide context and guidance to optimize the AI's capabilities. Additionally, it delves into practical aspects such as troubleshooting errors, using AI prompts effectively, and ensuring your app is both functional and aesthetically appealing.

          Moreover, the video highlights the benefits of macOS app development, such as seamless integration with Mac's design language and offline functionality using tools like Core Data for offline mode operations. The creator shares personal insights into navigating challenges, iterating designs, and leveraging AI and Xcode to build engaging, useful apps that can run effectively even without internet connectivity.

            Chapters

            • 00:00 - 00:30: Introduction to the Mac App The chapter introduces a Mac app being developed by the author, marking it as their first Mac app project. It includes a significant number of features and has been developed with over 400 commits and around 2,000 prompts, primarily using 3.7 Clot AI. The primary motivation behind the app's creation is to offer a robust voice-to-application feature, enabling voice interactions with applications like Slack and email.
            • 00:30 - 01:30: Design and Features The chapter 'Design and Features' discusses the development process of a chat application. Initially, the intention was to add more features, particularly focusing on both design and coding aspects. The developer is working on creating designs using various models, including Claude and GPT with web attachment capabilities. A notable feature mentioned is a new button that allows for code generation, which the developer finds impressive. Customization is also a significant aspect of the development.
            • 01:30 - 02:30: Development Process The chapter 'Development Process' focuses on the exciting aspects of designing digital applications. It highlights the ability to generate HTML code efficiently with tools that enhance adaptability. There's a mention of export options, such as converting designs to JPEG and downloading them as code files, which offers a flexible and enriched user experience. The narrator expresses a passion for developing a Mac application, emphasizing the enjoyable journey in the creation process.
            • 02:30 - 04:30: Mac vs Web Apps The chapter titled 'Mac vs Web Apps' begins by discussing the creation of an interactive prototype using just a couple of prompts. The narrator expresses excitement about the experience of working with AI and mentions a high level of engagement with AI technologies currently.
            • 04:30 - 06:30: Tools and Xcode Setup In this chapter titled 'Tools and Xcode Setup,' the narrator discusses their extensive work and progress on various projects. They mention having made 400 commits to their current project in two weeks, and also reference another project called 'motion AI' or 'dream cut,' which has accumulated 2,900 commits, possibly translating to around 10,000 prompts. Additionally, they are working on a UI kit. The chapter highlights the intensity of their development process and the tools they are utilizing.
            • 06:30 - 08:30: Using AI and Cursor This chapter discusses the customization of app components, emphasizing features like changing rounded corners, colors, and fonts. The speaker shares their excitement about experimenting with these features and anticipates sharing their findings soon. The chapter also touches on the differences between web apps, Mac apps, and iOS apps, particularly in the context of cross-platform development.
            • 08:30 - 10:30: Starting a New Project The chapter discusses the differences in accessing various features when using applications on different platforms like a browser versus a Mac app. It highlights that while a browser may have limitations in accessing some features like the camera or a full menu, a Mac app can offer more integrated features such as a menu bar that provides seamless access to utilities like the microphone, enabling tasks like reading content, taking screenshots, or utilizing the camera.
            • 10:30 - 13:00: Understanding Swift UI The chapter 'Understanding Swift UI' discusses the necessity and benefits of creating a Mac app rather than relying on a web-based application. The primary reason for this is the increased accessibility and flexibility offered by a standalone app. Without the dependency on a browser, users have more seamless access to Xcode and other necessary tools for reading and modifying code files, enhancing their development experience.
            • 13:00 - 16:00: Error Handling and Debugging The chapter discusses the necessity and application of different programming tools and platforms when building front-end applications. It emphasizes that for simple projects like UI kits or a straightforward landing page, complex tools and multi-platform support are not required, specifically excluding the need for Swift UI and backend applications, as the project can exist solely within a browser environment like Safari. The emphasis is on simplicity and minimizing unnecessary development work.
            • 16:00 - 18:00: Testing and Commits This chapter discusses the challenges and considerations of using cross-platform wrappers like Electron. It highlights the trade-offs associated with such tools, focusing on the costs involved in making applications cross-platform. The discussion draws parallels with iOS development, mentioning the use of Xcode and a tool named cursor.
            • 18:00 - 20:30: Using AI Rules The chapter discusses the use of AI tools in building an iOS app using cursor and Xcode. It highlights the difference between developing for Mac and iPhone, emphasizing the experience of people who are more accustomed to working on computers than mobile devices.
            • 20:30 - 25:00: Conclusion The chapter discusses the progression from developing applications for iOS to creating apps for Mac using Xcode. It highlights the ability to preview applications directly on Mac without the need to use an iOS simulator or phone. This provides easier access to app previews and streamlined workflow for Mac app development.

            How I Built my First macOS app with Cursor - 34-min Tutorial Transcription

            • 00:00 - 00:30 So, this is the app that I'm making right now, and it's a Mac app. It's my first one. I've done about 400 commits, about 2,000 prompts. I'm using 3.7 Clot AI mostly, and there's a ton of features that I baked into this. The main reason why I built this is because I wanted a really good voice to app. So you can just speak to any app you want such as Slack, such as email using your voice
            • 00:30 - 01:00 and then it turned into a chat app because I wanted to bake more features into that. So right now I'm in the middle of working the design aspect and the coding aspect. So I I can generate these designs here from scratch using any model that I want such as claude GPT with web attachment and I have this new button here which allows you to generate code which is awesome. I baked in custom
            • 01:00 - 01:30 prompts to help you with designing and this is the results. So, we have the ability to generate this HTML code and you're going to be able to uh set this, you know, uh the adaptiveness and all that stuff. You can export to JPEG and download as a code file and really really cool experience. I love love love creating a Mac app at this point. As you can see, uh, you can
            • 01:30 - 02:00 do a lot of things and, you know, I made this this this prototype here with just a couple of prompts and it's fully interactive as you can see here. So, really excited to talk about this experience and what it takes. Now I'm not lying when I say that I work so much with AI right now and we have
            • 02:00 - 02:30 made well I have made 400 commits so far on this project two weeks and also if you look at my other projects we have you know motion AI which is a code name but it's dream cut and this is 2,900 commits so far so I'm guessing probably like 10,000 prompts. Uh, and then we also have the other one which is a UI kit that I'm building right now. Uh, so,
            • 02:30 - 03:00 you know, to be able to change the rounded corners, we have like so many of these um, uh, you know, uh, components that you can customize in term of colors and and and fonts and all of that stuff. So, I'm busy and I've been experimenting. I can't wait to share with you. So first of all, what is the difference between a web app and a Mac app or an iOS app? All right. So if you're building crossplatform in the
            • 03:00 - 03:30 browser and you don't need access to all of these extra features such as the camera or even the menu. So for example, if you have a Mac app, you have access to this menu bar which also gives you first class access to the microphone. So for example, I can literally uh you know read the content, take a screenshot or have access to, you know, the camera and all that stuff really
            • 03:30 - 04:00 easily and also from anywhere. So I'm not dependent on the browser of someone opening a browser, opening the website and keep that open all the time. So I'm not dependent on that. So that's why you would create a Mac app which is why you know ChatGpt they needed to do that they want to have more access to Xcode to you know a cursor to be able to read the code files and make changes. So that's why you need a Mac app. Now, you need,
            • 04:00 - 04:30 you know, if if you're building like a UI kit, if you're building a landing page such as the Dream Cut landing page that I did, you don't need a back app. You don't need Swift UI for that, obviously. And, you know, you don't want to worry about having to create different code bases and different language and different platforms. It's just one and it exists in the Safari and that's it.
            • 04:30 - 05:00 Yes, you can have rappers like Electron and kind of wrap that and make it crossplatform, but it comes with a lot of cost. And let's talk about the tools. And this is very similar to building for iOS. We're going to be using Xcode and we're going to be using uh cursor. And if you haven't done this in
            • 05:00 - 05:30 the past, I highly suggest I have a course on iOS 18. This is using uh this is using the same tool. So cursor and Xcode to build an iOS app. And so it looks a little bit like this except for the Mac it's a little bit different. a little bit different because you're someone who spends most of your time in front of a computer like me and maybe less in front of of an iPhone, right? So, it makes a lot of
            • 05:30 - 06:00 sense to make an a Mac app. Now, let's take a look at the files. We have Xcode project built for the Mac and we also have the previews uh just similarly. So you can, you know, start the canvas, you can start the preview and you have access to this and when you can also build directly to your Mac. So you don't need to build uh for the iOS simulator or for the phone. It's going to open directly the app right
            • 06:00 - 06:30 here. So this is really really cool. I love that. And there's also the design language. So let's talk a little bit about the design language. your Mac app definitely is more suited for the Mac design language. What I mean by that? Well, you're not going to have the, you know, crazy styling that you see on every single website is very different. It's very branded. There's like, you know, you're not going to have like a ton of logo and all that stuff. And you usually have a
            • 06:30 - 07:00 sidebar, you have the content, and then you might have the navbar. Well, actually, you do have the nightbar, the the navbar typically. Uh, and you have these little traffic lights. And, you know, you have the navbar with the titles and some of the options and the action. And then you have the action bar. So these are the design patterns of
            • 07:00 - 07:30 a Mac app. You would see them throughout a lot of the desktop app type like Slack, like uh messages or music app, it's going to use pretty much that design language. And so uh you know if the best way to recognize if it's a a native Mac app built using Xcode or not is a sidebar. You have this translucency. Uh I love love love this sidebar. You can see it's translucent.
            • 07:30 - 08:00 And uh I can also show you the dark mode version. Boom. Love the dark mode version. As you can see, everything is adapted. It comes for free when building for uh you know using Swift UI. It's extremely easy to make these changes uh to use primary colors instead of using black as a color. Uh on the web, for example, if you use tailwind, you're
            • 08:00 - 08:30 going to often have to to to set like, you know, neutral uh you know, uh 100, which is for light mode, and then 900 for dark mode. In Swift UI, you can just set primary, secondary. It's going to automatically set to light and dark mode. So really really cool. There's a lot of advantages to using Xcode and building for Apple platform such as having every single libraries for you
            • 08:30 - 09:00 and you don't need to uh depend on all of those things. Just to give you an example, I only use pretty much three libraries and they're very very obvious. The first one is Superbase. So, Superbase uh gives me access to uh having a login. So, uh oh, I forgot to show you the login, which is uh something that I love. Boom. Look at this login. Um what you're noticing here is that it's using
            • 09:00 - 09:30 the new mesh gradient uh which just just came out last year and I just applied it and I love it. So I just love this, you know, this mesh gradient so much and it brings so much personality. Um, so what was I talking about now? Libraries. So we have superbase, we have markdown UI, which allows me to to have these code
            • 09:30 - 10:00 highlighting uh and markdown. Um, and then I forgot the last one. Uh, but it's it's, you know, I think it's pro probably the the the the only two that I have so far. Uh, let me go to my packages. And here you can see uh I think it's called grdb. Okay. So this is for because I wanted to try uh the database solution and I ended up going
            • 10:00 - 10:30 with core data anyways which is really good for offline. What this means is that if you have a Mac app this is going to work perfectly in offline mode. And just to give you an example, I can go to models and I can set a deepseek and I can run my model offline. I can be on the airplane and I can just use the app perfectly. So this is using
            • 10:30 - 11:00 core data. it's it is only using uh superbase to connect online but otherwise when you're making uh new prompts and all that stuff you can just use an offline model and it's going to work which is amazing. So you don't rely on being connected to the internet. So that's another plus for Mac development. All right let's start from the beginning and sort of like look at the requirements. First of all what do you need? You're going to need a Mac.
            • 11:00 - 11:30 you don't have a choice. If you want to build for iOS, if you want to build for the Mac, you need a Mac. Um, and then you I would highly recommend if you're a beginner to go with the latest version of the Max, which is uh I believe Sequoia if I if I'm not mistaken. And uh so we have Xcode and you're going to download that from the app store and uh you're going to search for Xcode. you're going to install this. I don't
            • 11:30 - 12:00 know why they have such a low rating, but you know, it's everyone use Xcode. It's an awesome tool if you know how to use it, if you're patient with it. The same with Mac development and the same with web development. Um, you know, every every platform, every tool has their quirks and you know, just have to be positive, right? Like W coding, you have to be positive otherwise you're going to give up in five minutes. Now, Xcode and then for uh AI because
            • 12:00 - 12:30 obviously Xcode doesn't have a very good AI. It has very bad AI. I would say at this point, maybe eventually they're going to improve it, but you're going to need something like cursor or Alex code. Now, Alex Code, I would say it's an amazing tool. It edits directly to your Xcode, but it doesn't have the same maturity as cursor. cursor has a lot more maturity, has a lot more features baked in. It has a better understanding of your codebase,
            • 12:30 - 13:00 and it has a bunch of new things such as MCP and all that stuff. Now, you're going to download this uh you can use it for free. There's no problem. Xcode is free as well, and also Alex Code has a free trial. So, getting started is no problem. Uh what is a problem is when you you're like me, you're like at 1,000 prompts, of course, it's going to start costing money. But for anyone who's getting started, you're not going to get there and you'll mostly end up with something free. So once you have everything
            • 13:00 - 13:30 installed, such as Xcode and cursor, you're going to go to Xcode and you're going to create a new project. And here you can, you know, do it for uh multi multiplatform. But in this case, what I like to do, especially if you're starting your first project, just be very niche and very specific. Uh because at the same time, it gives your AI a lot more understanding and a lot more
            • 13:30 - 14:00 specificity to what you're trying to achieve. If you have too many kinds of code, too many kinds of file, I think some it gets confused a lot at as it reads your codebase. So, what I would do is just select Mac OS, select app. This is the most basic template. And then you're going to, you know, obviously you're going to want to set up a team, and then we're going to have like my first uh Mac app, for example. You don't need to say app at the end because usually it gets added, but yeah. Yeah, I
            • 14:00 - 14:30 guess it doesn't make sense to say my first Mac, but let's say my uh my my voice, the the name of the app. Let's say my voice and the team. Uh, this is if you have a development team, which if you want to test on a on a real device, you're going to need that. Uh, I'm not 100% sure if you actually need that for Mac for now. I think you do have like an option for debugging thing. I do have a team, so I don't have that problem, but
            • 14:30 - 15:00 you can also set it to none. That's fine. Uh, and then the identifier, which which is your domain name in reverse. So for example uh you know io io.designcode or you know uh you know like x.com or like com.x. So this is what you're going to put and interface swift UI language swift and that's it. I wouldn't touching and storage for now. So we're going to save that to your projects to your documents to your downloads folder. I
            • 15:00 - 15:30 like to have a projects folder in my documents or in my downloads folder. So this is what I I save all my projects here. I'm going to create that and boom, that's it. You can get started. You can already start testing Swift UI uh by itself, which is awesome. I highly recommend that you give it a try and just play with the language. Get familiar because you're going to need it. A lot of people say, "Yeah, you know, you don't really need to learn code." I understand that. I understand where you're coming from.
            • 15:30 - 16:00 But there's only so far that you can go and you cannot ignore this forever. So what I would recommend is that if you can and if you find it easy go for it. So you know test things say you know edit stuff you know play with the inspector and uh go with these changes play with
            • 16:00 - 16:30 it because AI is very good at setting the foundation for you but it's not going to get everything perfect. it's going to make a lot of mistakes and especially in term of UI, it's not going to get exactly to what you want. So sometimes, you know, it's just much easier to just change the text yourself, to just change the style yourself. And it's fun, you know, don't don't ignore it. I know that it's tempting to just say AI is going to do everything, but I
            • 16:30 - 17:00 like to think that it's it's better 99% than 100%. because then you you know that you're really trying harder. You're trying to get something that is more unique, that is solving a lot of problems that other people haven't. And that's what I would recommend. So give it a try. Don't ignore it. Uh but yes, we you don't need it. I'm not saying that you need it. You absolutely can build apps. The question
            • 17:00 - 17:30 is how good will it be? That is the that is the big question mark because more and more a lot of people are going to build like really really basic apps and it's just there's going to be a ton of litter out there. Now look at this. This is your project. This is your Mac app. You can build it. You can just click on play. Select your Mac. Uh this is your preview. And when you click on preview, this is going to be paused. So you have to always, you know, switch back and forth. You can't run both at the same time. And uh if you run it, it's going
            • 17:30 - 18:00 to look like this. And that's it. You know, it has your name, it has this. You're going to have to ask to set up a sidebar and stuff like that. Uh but you know, you have your app, and that's the most important thing. You just need a starting point. The same way with a web development, usually uh you know, you you start a a project, you clone it, or you set up the quick start. So you go to the terminal and then you start your project. In this case, it did it for you
            • 18:00 - 18:30 and it's so easy because Apple provides all of that stuff and it has all of that UI stuff. You don't need to choose between, you know, hey, do you want Tailwind? Do you want, you know, React? Do you want Vue? No, you just have one path and it's just so good. It's freeing for the mind. I love it. So, we have this and now we're ready to go to cursor. I'm going to close my project. I'm going to go to curs cursor and it looks a little bit like this at first.
            • 18:30 - 19:00 I'm going to open the project and I can just go to my project and it's called my voice. Open it and there we go. You can start typing right away. But but but but but one thing I want to say is that AI needs context at best. like the best thing you can do to AI is to give a as much context as possible. So you would want to open
            • 19:00 - 19:30 this. So this is the navigator. This is a search. This is the source control. We've learned that in the past, but I just want to reiterate it. Now we have this. And then you're going to select the content view. The main files that you're going to have open is the file that connects to everything. Why is that? Well, AI needs context. AI needs pathways, segways to
            • 19:30 - 20:00 different files. And you need your index.html. In in the case of a Mac app, it's called the content view. That is the main file. So, this is the first thing that you're going to need. And then um I know I have everything open for for new users. I can't keep up with what is the default uh template when you start cursor but it's going to look something like this. Uh you know if command B for enabling the left side which is the navigator you have the
            • 20:00 - 20:30 editor and then you have the inspector and also the composer. So this is super important. It's called now the AI pane. It might change in the future, but it all comes down to the same. You have the prompting, and then you have the agent mode, the ass mode, and the manual mode. Now, don't even think about changing anything else than agent mode because now it's so smart that it knows that you
            • 20:30 - 21:00 if you're asking a question or not, etc. Let's talk about models. Now we have 3.7 and we have 3.5. Those are the main models that most designers, most coders are using. And then we also have the thinking mode and so on. What I really recommend as a beginner is go with 3.7. I know a lot of people they don't like 3.7 because it does too much. It, you know, it goes too far. It
            • 21:00 - 21:30 takes forever. What I can tell you is that it's really powerful and it allowed me to create the most powerful things I've ever built in my entire life. And it does that effortlessly and I don't need to give so much direction which is great because if you're a beginner you don't want to give too much direction and you just want to kind of test and build and just move on. Now
            • 21:30 - 22:00 let's start with something super simple. For example, um you know add a sidebar and you know set up a let's say um let's say a uh a basic app for uh chat. And so, you
            • 22:00 - 22:30 know, sometimes I like to say keep it simple, especially when you're starting out. So, we can start with that. We can we can see how it goes and all that stuff. In the meantime, uh, one thing I want to say is that, you know, AI tends to take a lot of steps. But what is really cool about a cursor which is really good compared to other apps is that you can now have these checkpoints and you can always come back revert and
            • 22:30 - 23:00 then you know commit and then you know the cycle uh goes on. Now again if you're a beginner just wait and see. What I can also say is that don't try to prompt something too complicated and uh yeah, you know, add a sidebar, set up a basic app for chat. So, keep it simple. And uh the reason why I say keep it simple is because I'm using 3.7 and it tends to, you know, do
            • 23:00 - 23:30 a lot of things, do a lot of steps. Sometimes, honestly, it it does like 25 step, 50 steps. Those are crazy. Which is why I like another thing that I like to tell my son who is a very very beginner. He already does did two apps so far for Mac because as you know you know kids they love to copy their parents. They love to get inspired. Um and he did two Mac apps. That's true. This is not a lie. And um it's great
            • 23:30 - 24:00 that I I kind of showed him because it gives me an idea and how I can teach it as well. So what I can say is yeah, keep it simple. Do not ignore what AI tells you. The more that you read, think of it like a book, right? The more book that you read, the better informed that you are and the more you can come up with crazy ideas and get to the next level. Now read it.
            • 24:00 - 24:30 I created a simple chat app with chat uh with a sidebar explore. Let's start by exploring the structure. So you know it's kind of like this. You can see this is very simple. This is just a few steps. Now create a necessary file with a sidebar uh content view main chat area and then you know you don't need to read everything but you know if you're a good reader you know how to scan. So updated content view. I have some data model. If
            • 24:30 - 25:00 you understand a little bit about data model, this is where you set up the data. Uh in in the case of a chat, it could be like the text, the title, or you not don't really have a title, but usually you have the date. And so that's a data model. All right. So at the end, you're going to want to accept the changes. And uh this is pretty cool. It tells me the steps which is why I'm I'm saying you know ask your questions if you block somewhere AI is there the agent is there it does everything for you now compared
            • 25:00 - 25:30 to before so for example for web development you can even go into the terminal uh yes also for for Mac development now that I remember it goes into the terminal it opens your Xcode files it reads the file in the terminal and that's really cool in this case it's uh opening you know it tells telling us the steps so open in Xcode build and run command R. You should see this the sidebar and you Okay, so select a conversation, type a message. That's
            • 25:30 - 26:00 pretty cool. We're going to go back to Xcode and then we're going to just follow it. Command R. And voila, we have the first problem. Uh-oh. Now this is the little quirks about iOS development is that even though it's using Swift UI, the maturity of Swift UI is mainly for iOS. So for Mac, it has a little a few quirks that you cannot use
            • 26:00 - 26:30 and AI is not very well trained on Mac development. Now don't worry, I've been able to build my Mac apps so I've been able to to easily get through them. But let me show you a really really cool trick that I use all the time. So whenever I I see an error, first of all, it's going to go to this tab. This is super important that you get uh comfortable with this. So you have your tabs and it's going to switch. So you have your navigator, you have your changes in the commits, for example, and then you're going to you have your
            • 26:30 - 27:00 search, but also it's going to switch directly here. And you might be confused and uh that's okay. Now, as I mentioned before, you want to to bring the the error directly to AI so that it can fix it for you. So, the trick that I use is that I would select it and then command select the secondary one or shift click to have multiple selected and then command C. And that's it. I love this. So, now I'm just going to paste this and
            • 27:00 - 27:30 then press enter. It should be able to solve the problem. Another trick that I love to tell my son when he's blocked and when the problem becomes harder and maybe it's a new API, you include web at the end, which is amazing. So, you know, you have your prompt, you have your let's say your your error code and your error message and then you include web at the end. So, this is more like a last resort. So you you know you start with this first, you accept it, and then you
            • 27:30 - 28:00 go back and then you build. Uh now again, we're going to need to go again. Boom. We're going to do that again. And we're going to keep doing that until it's resolved. Sometimes though it's going to make it's going to keep repeating these things which is why uh it's it's it's good to include web or sometimes it's good to say you know please take a take a step back you know there's a lot of people who suggesting a
            • 28:00 - 28:30 bunch of tips on these prompts but I haven't found that I need to do them very very often so this is a very simple one I believe that uh I can just say this but at least You can see that the errors are new, right? And I don't know why for such a simple prompt is giving, you know, like sometimes you you get lucky. I would say that in in Swift UI for iOS, you get a lot less errors, but uh for, you know, for Mac,
            • 28:30 - 29:00 boom, that's it. That's it. That's it. So, you can see hello and send, right? Uh, I don't think it's connecting to AI, but you know, it's always saying the same things. It has a UI, it has a sidebar, it has the sort of like, you know, normal Mac stuff. Uh, you know, it has a lot of problems with the UI. Obviously, it's not very standard and
            • 29:00 - 29:30 you have to customize it, but you have something that I basic. Um, one thing I want to say is that, you know, this is how you start. This is how you you go from here and you keep doing that and when you're happy with it you go here and you commit it. So for example uh basic chat the other thing you can do is you can always go back to the previous. So sometimes and I I you know I see my
            • 29:30 - 30:00 son working uh with a cursor he goes you know with this chat he just runs forever and forever and ever. Yes, you can do that, but it's not necessarily a good idea. Uh, and also it's good to to be able to go back. So, this here, restore checkpoint, super important. At any point, you can go back and even if there's there was a file that was deleted, it's going to come back from the dead, which is amazing.
            • 30:00 - 30:30 So, keep doing this. You can load all the messages. you can restore the checkpoint and then you can go back to the to the last one testing it and so on and so forth. Now the last thing I want to talk about is rules and I haven't been able to figure out if it really really helps but it does help to some extent. So for example I'm going to go here and I'm I'm going to go to rules. One thing that I like to add which is super super simple this is for me
            • 30:30 - 31:00 obviously and every person is different the way that they work. For me, for example, if I have to make a fix or refactor, I like to have like a commit summary. I, you know, because like sometimes it's not very consistent how it's coming up with these comments and text, but I like to have a commit summary and I like to have uh the AI tell me the steps for fixing or for testing the fix or for testing this new feature. I love when it gives me these
            • 31:00 - 31:30 uh these steps, these instructions as to how I'm supposed to see this new feature that I just built or this new fix that it it made and uh you know if if it's a bug and it needs to fix it. So I love this a lot. And the second thing is you want to add project rules. So spec uh rules specific to a project. So you're going to add a new rule and then uh you're going to name it. So for example uh web-dev for example and here you're going to put your rules. Now where do you find your rules? You can always go
            • 31:30 - 32:00 and search for cursor rules and you can find here a created list of rules uh for each types of project. So for example here uh swift UI guidelines um and you can just copy this for example and you're going to bring this to your rule and then save it. So this gives you more direction as to what are the best practices for each project. I it's hard
            • 32:00 - 32:30 to quantify how useful it is. Um but I I've been using it and it works and uh you know if specifically for Mac OS and iOS Ray Fernando someone I highly recommend that you you follow on Twitter as well. He's uh you know he's worked at Apple. He's a great developer and he has also this really amazing uh you know cursor rule that you can use for your project and um learn about Superbase which is for it's it's allin-one
            • 32:30 - 33:00 solution for your login for your backend for your data storage uh authentification and all that stuff. So, this is super easy to set up, really good instructions. They have really good documentations and you can definitely reference that to cursor and um you know, you're going to be able to to to use that. In this case, I'm not going to use a a webdev rule, so I'm just going to delete uh this. But um
            • 33:00 - 33:30 this is what we have so far. and you know have fun uh and and build your own app and experiment with it. So I would I look forward to see what you're going to come up with in this case. But this is something that is very very different from web development. It's a very different flavor. If you don't like web development, this might be something that you like even more. And if you don't like this, then you might like web
            • 33:30 - 34:00 development. But all in all, Xcode is amazing and cursor is amazing and you have so much that you can do and ask uh from AI and you have all of these techniques that you can use for your own project and yeah just have fun and don't give up and you know don't forget that you you are in control you can do
            • 34:00 - 34:30 anything you want and You can always go back if something doesn't work out. Don't just give up and say, "Oh, I couldn't make this work." Just move on to the next feature. Just move on to the next chat. And you know, once you finish with one feature, go and click on the plus, commit, and then, you know, start from there. And then move on to the next feature. So yeah, have fun. I'll see you in the next video.