← Back to blog
Working·Aug 22, 2026·4 min read

How do you vibe code a Mac app? Fuck I don’t know.

Right now I’m deep in the fuck around and find out phase of building my flagship SaaS MVP. A big piece of that is the iPad and native Mac app, because my whole strategy, positioning, and entire pitch of a minimal writing tool with a split-view screen hinges on that iPad app existing.

Except the internet, Claude, and Gemini all told me the same thing: build the Mac app first, it’s easier. So I did what every non-developer does when three different sources agree with each other. I followed their advice.

And weirdly, it made sense. An iPad app means designing for a completely different kind of screen space and building gestures that don’t exist on Mac or web.

A native Mac app basically borrows the layout and structure of a web app, so the barrier to entry is a lot lower. Which, fine, I’ll take the easier door.

Why am I even doing this?

The only reason I started building this thing at all is that no writing or docs editor out there actually satisfies me as a blogger and content creator. Notion is famously bad for writing.

Apple Notes is great but way too limited. My old favorite, Dropbox Paper, abandoned iPad and iOS entirely and left me stranded. So my brain, in its infinite wisdom, said: fuck it, just build it yourself then.

And I did after numerous attempts at wrapping my head around vibe coding. I’m proud of what I’ve built. I’m also terrified, because I have no fucking clue how to vibe code a native Mac app in Swift.

Two weeks of quietly panicking in Xcode

For the last two weeks I’ve been dabbling in silence, which is a nice way of saying I’ve been flailing. I’d never opened Xcode before this. Never once.

Xcode Apple

Right as I got comfortable with Cursor, learned the basics of an IDE, finally graduated from the GitHub web editor, and got Claude Code working for me, Xcode showed up and humbled me completely.

Read also: I build software like a toddler learning to walk

It is genuinely confusing. It took me an embarrassing amount of time just to wire Claude Code into it so I could sit back, throw prompts at it, and test whatever the fuck came out the other end. That came with the much-needed yelling at Claude.

And for a while, that worked. It vibe-coded my entire MVP into a working Mac app. Not published, but working. I felt like a genius for about four days.

Then it hit me: this is real software

That’s when the cold feet showed up. This isn’t a PWA someone pins to their dock and forgets about. This is downloadable software that runs on someone else’s actual machine, using their actual RAM, touching their actual data.

So now I’m lying awake asking myself real questions:

  • What if I fuck this up?

  • What if the code is bloated and eats someone’s memory alive?

  • What if there’s a leak somewhere I can’t see, and it doesn’t protect user data the way it should?

I can’t just vibecode my way through this, hit publish, and act like that’s a responsible thing to do. Because it isn’t. I am too obsessed with compliance, diligence, and security.

The part where I have to grow up

Right now I can get away with murder. Zero users means I can tweak, break shit, and rebuild ten times a day and nobody notices or cares.

But the second real people start using this, I can’t keep shipping a thousand changes a day to a codebase I don’t actually understand and tell them “trust me, it’s fine.” That’s not a QA process. That’s a freakin’ Die Hard hostage situation.

That realization changed how I think about the whole build. It’s not about how fast I can vibe code a feature anymore. It’s about whether I truly understand what I shipped well enough to be trusted with someone else’s data and someone else’s machine.

My confidence in the current Mac app build sits somewhere below zero. Which, annoyingly, is probably the correct amount of confidence to have right now.

It just means I’ve got studying to do, and probably a few honest conversations with real Swift developers who can tell me what I’m getting wrong before someone else finds out the hard way.

Pieter Borremans

Written by

Pieter Borremans

Writer·Content creator·Founder

Based in Taichung, Taiwan and London, UK, this is Pieter's personal journal and builder's blog: field notes on entrepreneurship, solo business-building, and the unfiltered reality of creating online. Alongside it, he's chasing one absurd goal in public, $168M USD in lifetime earnings, tracked live from zero.