When Rants Become a Thesis: My Failed Attempt to Vibe-Code a Mac App
The Vibe-Coding High: When AI Actually Works
I’m an optimist at heart, and when a new tool comes along that promises to make a difficult task easier, my brain lights up like a kid on Christmas morning. That’s exactly how it felt when I started working on my KPI Quest web app. The goal was to build a personal dashboard, a single place where I could track key metrics for my various projects and goals. It was something I’d wanted for ages, but the thought of building it from the ground up, with all the backend databases, the frontend UI, and the tricky integrations, felt like an insurmountable wall. My back starts aching just thinking about it.
Then I stumbled upon Google’s Firebase Studio. It was like finding a secret cheat code for development. The entire experience felt less like traditional coding and more like a conversation. I’d simply describe what I wanted to the AI—things like “create a real-time dashboard with a section for tracking my personal key performance indicators,” or “set up a user authentication system so I can log in securely.” The AI, in turn, would start generating the core components. It was a bit like being a film director and having the AI as your crew; you describe the scene, and it handles the lighting, the props, and the camera angles. You still have to give it direction, of course. It wasn’t a one-and-done miracle, but the collaboration was what made it so powerful.
I started small. “Okay, let’s create a section to track my progress toward a 10km race. It needs a field for the date, the distance, and the time.” The AI would produce a basic form and a table. Then I’d refine it. “Can we make the ‘time’ field a specific format, and can we add a button to submit a new entry?” It felt like a back-and-forth dialogue, a continuous process of trial and error where the “error” part was far less soul-crushing than when you’re staring at lines of code that just won’t compile. My brain wasn’t bogged down in syntax; it was free to focus on the big picture, the functionality, the user experience (even if that user was just me).
The vibe-coding process was a beautiful thing to witness. It was all about momentum. You’d get a small win, a piece of the app would come to life, and that would fuel the next burst of creativity. I wasn’t just building a dashboard; I was having fun building it. And that’s a sensation I haven’t had in a long, long time with software development. It was an organic process where the app would grow and evolve naturally, based on what I was asking for. It felt like I was sculpting something out of clay rather than meticulously assembling a house of cards. I could literally see my thoughts taking shape on the screen, almost as fast as I could type them.
Sure, there were moments of frustration. The AI didn’t always get it right, and I had to spend some time learning how to rephrase my prompts or manually tweak the generated code. But these were minor hurdles, not the towering, impassable walls that traditional coding can often present. The key was that the underlying infrastructure, the user authentication, the database—all the unglamorous but essential parts—were handled almost effortlessly. This allowed me to focus on the actual application logic, the stuff that mattered.
And now, I have a working product, KPI Quest. It’s not a beautiful, pristine, design-magazine-worthy web app, but it’s functional. I use it every day to track everything. It’s a tool I created for myself with a little help from AI, and that feeling of accomplishment is second to none. It’s a testament to the power of tools that lower the barrier to entry, that allow a non-expert like me to bring a complex idea to life. That’s the high I was chasing, and it felt incredible. It was this feeling of empowerment that led me to the next project, the one that turned out to be a bit more of a reality check.
The Inevitable Native App Crash & Burn
The high of creating a working web app was replaced pretty quickly by the crushing reality of native development. I had this vision of a sleek macOS companion app for KPI Quest, something that would live on my desktop and just work. I thought that with Apple baking AI directly into Xcode, it would be a smooth ride. I was wrong. It was more like trying to ride a unicycle through a swamp.
The first hurdle was the OpenAI integration built right into Xcode. I knew it wasn’t free forever, but I thought the usage would at least be enough to get my feet off the ground. It was not. It felt less like a free tier and more like a demo—a very short demo. Every time I’d generate a snippet of code or ask it to help me figure out a tricky part of the UI, I’d get a “quota insufficient” error. It was like I was at a vending machine that kept taking my money but wouldn’t give me the snack. The calls were so limited that I’d spend more time waiting for the free usage to reset than I would actually vibe coding. It completely killed the flow, that beautiful, conversational back-and-forth I’d grown to love. My enthusiasm deflated like a cheap balloon.
So, naturally, I started looking for alternatives. My eyes landed on Gemma from Google. It’s an open model, it has a free tier, and Google is a huge name in this space. I figured, “It’s a different company, but the APIs must be similar enough, right?” That was a very optimistic assumption. Trying to get Gemma to work with Xcode’s built-in AI tools was a complete mess. The API endpoints were fundamentally different. It was like trying to use a European plug in an American socket; you could see the similarities, but without an adapter, nothing was going to happen. I spent a long, frustrating afternoon digging through documentation and trying to find workarounds, but I kept hitting a brick wall. The two systems just weren’t meant to talk to each other in this native, intuitive way. It felt like a glaring oversight, a sign that the AI ecosystem is still very much in its wild west phase. There’s no standardisation, no seamless interoperability. You have to pick a side and stick with it, which is the antithesis of the free-flowing creative process.
My desperation led me to a service called Open Router. The premise was simple and brilliant: a unified endpoint for all the different AI services. It felt like the perfect adapter, the missing piece of the puzzle. I got it all set up, plugged in my keys, and for a short, beautiful moment, it worked. The vibe-coding flow returned! I was generating code, building out the app page by page, and my optimism soared. But, as these things always seem to do, the free usage was gone in a flash. My brief period of productive coding ate through the free credits in what felt like minutes. It was a cruel reminder that even the most innovative and user-friendly services have to make a profit. It was a fantastic idea, but it was just not a sustainable one for a hobbyist like me who’s not ready to start a subscription before even having a finished product.
With my budget for API calls officially depleted, I turned to a more personal solution: local LLMs. I’ve written about using LM Studio before, and for my previous projects, it was a dream. The models ran locally on my machine, so I wasn’t at the mercy of rate limits or expensive API calls. It was the perfect solution—in theory. For some reason, running the latest macOS 26 Beta on my Base M4 Mac mini, the performance was abysmal. It took an eternity for the models to process a simple request. I’d type a prompt and sit there, watching the loading bar creep across the screen, my brain starting to fog over and forget what I was even trying to do. It was like trying to have a conversation with someone who takes five minutes to answer every question. The flow, the vibe, the entire momentum of the project was completely lost. It felt like the technology was conspiring against me. A big part of the vibe-coding appeal is that instantaneous feedback loop, that feeling of a real-time partner. When that’s gone, it’s just a tedious waiting game.
I learned a few hard truths during this little experiment. First, the native app ecosystem is a very different beast from the web. It’s more closed, more rigid, and less friendly to the kind of freeform, AI-powered development I was hoping for. Second, the “free tiers” for these services are often a frustrating illusion, just enough to get you hooked before hitting you with the reality of a paywall. And finally, relying on bleeding-edge beta software or hardware isn’t always the smart play. Sometimes, the cutting edge is just a bloody mess. The contrast between my experience with Firebase and my disastrous foray into Xcode was staggering, and it led me to a much bigger question.
The Big Question: Why Don’t Native Apps Get the Vibe-Coding Love?
This whole frustrating episode brought me back to the central question that had been rattling around in my brain. Why is it that the web development space has so many of these intuitive, AI-powered “vibe-coding” tools, but the native app world is still stuck in the Dark Ages? You’d think it would be the other way around. Native apps are the gold standard—they’re faster, more responsive, and more integrated into the OS. So why haven’t Apple and Microsoft, the kings of native software, been the ones leading this charge?
I’ve been thinking about this a lot, and it’s almost like a tale of two different philosophies. On the web, everything is designed to be open and interoperable. You have frameworks like React and Vue that are built on common languages (JavaScript, HTML, CSS) that are relatively easy for an AI to understand and manipulate. The web is like a well-paved, well-marked highway system. An AI can easily navigate it, build things on top of it, and understand the core principles without too much effort. The tools like Firebase Studio, v0, and <loveable> are simply building on top of this established, open foundation. It’s like using digital LEGOs – the parts are all standardised, so an AI can just snap them together to build something cool.
Native development, on the other hand, is a completely different beast. It’s like building your own road through a dense, unmapped jungle. The underlying frameworks – SwiftUI and Cocoa for Apple, WinUI for Microsoft – are powerful, but they are also proprietary and deeply integrated with the specific OS. The code isn’t as easily transferable, and the rules of the road are set by Apple and Microsoft alone. This makes it much harder for a third-party AI to just waltz in and start building. They need specific, in-depth training on these very niche, often-changing frameworks. The AI would have to know not just how to code, but how to code in a way that respects Apple’s Human Interface Guidelines or Microsoft’s design language. It’s a much bigger, more complex task, and I think that’s why the major players haven’t gone all-in yet.
There’s also the element of control. Google, with tools like Firebase Studio, is building in an open ecosystem where their product is a layer on top of a common standard. Apple and Microsoft have always played a more closed game, prioritizing control over their platforms and the user experience above all else. They want to ensure that every app feels like it belongs on the OS. This desire for tight control might be a barrier to truly open, “vibe-coding” experiences, as it would require them to cede some of that control to an AI model that could potentially generate code that doesn’t adhere to their strict guidelines.
It also feels like a strategic misstep. Apple and Microsoft are so focused on a million different things – from AI-powered photo editing to augmented reality headsets—that they seem to have forgotten the people actually building the apps for their platforms. They’re providing tools that are just a little bit better than what came before, but they aren’t providing anything truly revolutionary that democratizes app creation. Google has taken the lead in making web development accessible to everyone, and in doing so, they’ve created a new, powerful user base. Meanwhile, I’m still over here, a paying customer with a working Mac, struggling to do the most basic things with their “cutting-edge” tools. It’s a frustrating feeling to watch from the sidelines as the innovation happens somewhere else.
The Tech Giants Are Asleep at the Wheel
This entire debacle with Xcode and my apathetic computer led me to a much bigger conclusion: it feels like Apple and Microsoft, the giants who once defined the tech landscape, are a bit lost. They’re no longer the fearless innovators they once were. It feels like they’re playing a desperate game of catch-up, and honestly, it’s a bit disappointing to watch.
Let’s start with Apple. The company that used to release products only when they were perfect now seems to be rushing things out the door just to stay relevant. Take Apple Intelligence, for example. It’s a huge step forward for the platform, no doubt, but it feels… incomplete. It’s a collection of features, some impressive and some that feel like they’ve been copied from Google or OpenAI, and they’re being released with a lot of caveats and a general sense of “it’ll be ready when it’s ready.” They’re doing it because they have to, not because they’re truly ready to redefine the space. It’s like they were scared that if they didn’t release it now, they would never be able to catch up. And let’s not even get started on the Apple Vision Pro. For £3,000, it’s not a product for the masses; it’s a product for a select few who can afford to drop a down payment on a car for a fancy headset. Meanwhile, Meta (Facebook) has taken the VR/AR headset ball and is running with it, making it more accessible to the average person. Apple used to create a new category and make it their own—think of the iPod or the iPhone. Now, they’re just entering existing categories with an outrageously priced pro-level device.
Microsoft isn’t much better. Windows has become a glorified advertising platform that happens to run apps. I’m not exaggerating. You can’t open the start menu these days without seeing an advert for a movie, a game, or some other service I have no interest in. It’s an operating system I’ve paid for, and it’s being used to sell me things. It’s intrusive and feels like a massive breach of trust. . They’ve copied a few quality-of-life features from Apple, like being able to send messages from your phone from your PC, but everything else seems to be a case of “we’re moving everything to the cloud, so you might as well buy a Chromebook.” They’ve lost that sense of creating a personal, powerful machine for the user and have instead turned it into a portal for their other services.
It’s a bizarre state of affairs. We have Google, which has built an entire ecosystem on top of being open, collaborative, and accessible, and they’re running circles around the traditional giants in the AI space. Meanwhile, Apple and Microsoft seem stuck in their old ways, caught between their desire for complete control and the desperate need to innovate. The result is a series of products and services that feel more like defensive plays than revolutionary moves. It’s the difference between building something new and just trying to keep up. And as a user, it’s disheartening. I’m sitting here, with money to spend and a willingness to learn, and the tools I need to build on their platforms just aren’t there in the way they should be.
The Tech Giants Are Asleep at the Wheel
This entire debacle with Xcode and my apathetic computer led me to a much bigger conclusion: it feels like Apple and Microsoft, the giants who once defined the tech landscape, are a bit lost. They’re no longer the fearless innovators they once were. It feels like they’re playing a desperate game of catch-up, and honestly, it’s a bit disappointing to watch.
Let’s start with Apple. The company that used to release products only when they were perfect now seems to be rushing things out the door just to stay relevant. Take Apple Intelligence, for example. It’s a huge step forward for the platform, no doubt, but it feels… incomplete. It’s a collection of features, some impressive and some that feel like they’ve been copied from Google or OpenAI, and they’re being released with a lot of caveats and a general sense of “it’ll be ready when it’s ready.” They’re doing it because they have to, not because they’re truly ready to redefine the space. It’s like they were scared that if they didn’t release it now, they would never be able to catch up. And let’s not even get started on the Apple Vision Pro. For £3,000, it’s not a product for the masses; it’s a product for a select few who can afford to drop a down payment on a car for a fancy headset. Meanwhile, Meta (Facebook) has taken the VR/AR headset ball and is running with it, making it more accessible to the average person. Apple used to create a new category and make it their own—think of the iPod or the iPhone. Now, they’re just entering existing categories with an outrageously priced pro-level device.
In fairness, it’s not all bad on the hardware front. We do have to give Apple some credit for their M-series of chips. They really are a game changer for low-energy but powerful computing. The efficiency and performance are nothing short of incredible, and they’ve left Intel scrambling to keep up. But at the end of the day, these are really just souped-up phone chips. The rumours of an upcoming entry-level MacBook that runs on the A18 Pro chip seem to prove that point. We’re also coming up on the 5th generation of these chips, and it feels like we aren’t getting a lot of year-on-year changes. However, there’s a flip side to that coin. According to various reports, folks are holding onto their laptops much longer now, precisely because the chips are so powerful compared to the older Intel line. My old Intel Mac would feel slow and sluggish after just a couple of years, but I know of some folks with M1 Macs that say they feel like they are running just fine after five. That’s a potential problem for Apple’s future sales, but it’s a huge win for the consumer. It’s an odd position for a company to be in, isn’t it?
Microsoft isn’t much better. Windows has become a glorified advertising platform that happens to run apps. I’m not exaggerating. You can’t open the start menu these days without seeing an advert for a movie, a game, or some other service I have no interest in. It’s an operating system I’ve paid for, and it’s being used to sell me things. It’s intrusive and feels like a massive breach of trust. They’ve copied a few quality-of-life features from Apple, like being able to send messages from your phone from your PC, but everything else seems to be a case of “we’re moving everything to the cloud, so you might as well buy a Chromebook.” They’ve lost that sense of creating a personal, powerful machine for the user and have instead turned it into a portal for their other services.
It’s a bizarre state of affairs. We have Google, which has built an entire ecosystem on top of being open, collaborative, and accessible, and they’re running circles around the traditional giants in the AI space. Meanwhile, Apple and Microsoft seem stuck in their old ways, caught between their desire for complete control and the desperate need to innovate. The result is a series of products and services that feel more like defensive plays than revolutionary moves. It’s the difference between building something new and just trying to keep up. And as a user, it’s disheartening. I’m sitting here, with money to spend and a willingness to learn, and the tools I need to build on their platforms just aren’t there in the way they should be. Don’t get me wrong when I finally find the time to learn how to write swift code I’ll be there but in the mean time when other platform are giving tool to other developers it would really be great if the original players did the same too.
The Only Way Forward? Big Tech Mergers
The way I see it, the only viable path forward for Apple and Microsoft to truly stand up to Google in this new AI-first world is through acquisition. They’ve been playing catch-up for too long, and it’s time to stop trying to reinvent the wheel from scratch. Google has an incredible head start with its open ecosystem and conversational AI tools, and it feels like the only way for the old guards to compete is by bringing proven AI talent and technology into the fold.
Microsoft has already got a foot in the door with its significant share in OpenAI. This gives them a massive advantage. OpenAI’s models, like GPT-4, are a known quantity and are already integrated into products like GitHub Copilot. It would be a no-brainer for Microsoft to simply finish what they’ve started. They could fully acquire OpenAI, make its technology a core part of the Windows and Azure ecosystems, and provide that seamless, conversation-driven development experience that I was so desperately looking for in Xcode. Imagine being able to “vibe code” an entire Windows app with the power of GPT-4 at your fingertips. It would be a game changer, and it would immediately put them on a more even footing with Google.
On the other side, Apple’s rumoured talks with Anthropic to help with its “Apple Intelligence” initiative seem like a very sensible first step. Anthropic, with its focus on safe and helpful AI, would be a perfect match for Apple’s own obsession with user privacy and security. It feels like a natural fit. Instead of spending years developing their own version of a vibe-coding tool, Apple could just acquire Anthropic’s expertise and integrate it directly into Xcode. This would allow them to give developers a best-in-class tool that’s built for their platform, all while maintaining their own unique brand identity. It would be an incredibly smart move, and it’s probably the only way they have a chance of catching up.
If this were to happen, we would likely have three main players in the AI space: Google (with Gemini), Microsoft (with OpenAI), and Apple (with Anthropic). It’s the same trio we’ve had for devices and software for what feels like forever. The three-way competition would be fierce, and it would ultimately be a huge win for the consumer. It would drive innovation, improve the quality of the tools, and hopefully, create a world where a hobbyist like me can build a native app with the same ease as a web app. The current situation, where the original players are being outmaneuvered by a more nimble competitor, can’t last. The AI bubble is still growing, but eventually, it will settle, and when it does, these companies need to be ready to compete.
Conclusion: The Rant That Became a Thesis
So, what started as a simple frustration—a failed attempt to “vibe code” a macOS app—turned into a much bigger, more complex thought about the state of the technology industry. It’s a tale of two different worlds: the open, free-flowing, and accessible world of web development, and the closed, rigid, and sometimes baffling world of native app development. It’s the story of how the old giants, Apple and Microsoft, seem to be playing a game of catch-up with Google, a company that’s been building on an open, conversational foundation for years.
My struggle with Xcode and my apathetic computer wasn’t just a personal failure; it was a symptom of a larger problem. It’s a sign that the AI revolution, which is making so many things easier, has left native app development behind. It’s a glaring hole in a market that’s otherwise obsessed with making things seamless and intuitive. The “free tiers” are a frustrating illusion, the ecosystems are too closed, and the companies at the top seem too distracted to give developers the tools they really need.
The only way forward, in my humble opinion, is for the giants to embrace change through acquisition. Microsoft needs to fully integrate OpenAI, and Apple needs to acquire Anthropic. It would be a huge win for everyone involved. It would create a balanced playing field with three major competitors, and that competition would ultimately drive innovation and produce better, more user-friendly tools. It’s time for the old guards to stop playing defense and start playing to win.
But that’s just my two cents. What do you reckon? Am I a hopeless romantic for wanting Apple and Microsoft to get back to their innovative best, or am I onto something? What do you think is the biggest challenge facing native app development right now, and what AI tools would you be downloading first to make your life easier? Let’s get the conversation going. Drop a comment on the social post that brought you hear. I really want to know what you think.