
How I Built a macOS App with 400+ Users - Without Any macOS Development Experience, Using AI Tools
Hey everybody,
In this post, I want to share how I managed to build my first-ever macOS app, publish it, and get over 400 users, despite having no prior experience in macOS development.
I can’t cover everything in one post, so I’ll focus on the very first steps: how I even started this kind of project.
I’ll share more in future posts 😄
I’ll touch on some technical aspects, but mainly focus on the story, the wins, the challenges, and key takeaways from the process.
I hope this post will help other builders save some frustration when starting to build their product using AI and provide you with some insights about the process of building in an unknown domain 🙂.
A Little Bit About Me
I’ve been a software engineer for over a decade, mostly in web development, with zero experience in macOS development.
I’m not promising that someone with no coding background can follow this exact path and succeed, but I’ve learned that today, you don’t need years of experience to build complex products like a native macOS app.
How to Get Started When You Don’t Even Know Where to Start?
A few months ago, I set out to build a new macOS app to solve a frustrating problem I kept encountering while working on my Mac.
But what should I do?
Without AI, I knew this would take months.
A few years ago, I would’ve started a Udemy course and slowly learned as I built, until I had a working web app.
But this time, I didn’t want to wait months. I want this app now.
From the start, I knew I’d rely heavily on AI to get it done.
First Stop: Deep Research (ChatGPT + Perplexity)
I began by researching the domain and validating whether my solution was even possible.
After a few iterations, I had a simple script that worked.
Next, I dove into researching how to turn that script into a macOS app.
Without writing code yet, I asked AI to create a step-by-step plan to convert my script into a basic macOS app.
The first result? A mess. I was lost within minutes.
So, I took a step back and decided it was time to think independently, combining AI answers with good old-fashioned Google searches 😄
Key takeaway:
In unfamiliar territory, search first. Don’t dive into coding too early - especially if you want to build a working product, not just a half-baked prototype.
Starting a New Project (Xcode + Cursor)
Time to start my first macOS project using Xcode.
First attempt: total failure. 😅
The AI guide I followed was outdated, and I broke the project structure almost immediately.
I started over, this time using updated documentation and common sense, and finally got my first “Hello, World” macOS app working 🤩
Then, I opened Cursor to begin building the core functionality.
But I got stuck again. I didn’t even know what to ask it.
So, I asked GPT to help me write a good prompt for Cursor, one that explained the app and outlined the solution I was aiming for, step by step.
Bingo.
Now things started to click.
Cursor helped generate a UI, organized my files, and started building the app.
I approved all the changes (I didn’t fully understand what it had done anyway), opened Xcode, and tried to run the app, but the build failed with countless errors 😂
I rolled up my sleeves. After a few iterations between Xcode and Cursor, I fixed the issues and finally ran the core app functionality in Xcode 🥳
Key takeaway:
For complex apps that require tools like Xcode or Android Studio, don’t let AI generate the entire structure. Always start with a fresh project based on official docs and build from there.
AI can’t always keep up with tool updates or scaffolding from zero projects like that.
From Prototype to Production – My Guidelines
Once I had a working app that solved my problem, I paused to think:
If I want to launch for real users, I need a more structured workflow.
Here’s what I did next:
Built a custom GPT with all the relevant knowledge about the app
Created a Cursor rule file outlining key development guidelines (macOS version, UI/UX styles, relevant resources)
Adopted a “Think → Research → Generate” cycle to prevent messy code (This also helped me figure out when to start in Xcode and when to switch back to Cursor.)
Following this approach, I successfully built a production-ready version of the app.
(Even the name DockFlow was suggested by my custom GPT 😅).
I launched it on Reddit, X, and Product Hunt, and started getting users on the first day.
Since then, I’ve put in countless hours improving the app. As users increased and feature requests started rolling in, I made a decision:
Set aside my other side projects and utilize AI to manage the entire app process, including marketing, tools, roadmapping, and more.
And no.
AI didn’t write this post.
Sometimes it’s just better to write it yourself.
(Just helped with the grammar and the formatting 🙈)
What’s Next?
There’s so much more I could share, like:
How I replaced the main core engine after users were already using it
My migration from Gumroad to Stripe
Building my own license key management SaaS just for this app
But I’ll stop here for now.
If people are interested, I’ll pause building for a bit and write follow-ups 😄
Thanks for Reading!
If you made it this far - you’re amazing 😃
Thank you so much 🙏
Feel free to ask me anything in the comments!
Replies