I've been vibe coding SwiftUI menu bar apps for my new Mac, turns out Claude Opus 4.6 and GPT-5.4 are both competent at Swift programming, no need to even open Xcode! https://simonwillison.net/2026/Mar/27/vibe-coding-swiftui/
Vibe coding SwiftUI apps is a lot of fun

I have a new laptop—a 128GB M5 MacBook Pro, which early impressions show to be very capable for running good local LLMs. I got frustrated with Activity Monitor and decided …

Simon Willison’s Weblog
@simon I’ve been vive coding in the last days and can only agree. I was able to have the LLM to optimize the performance of my apps, add an additional watch companion app and solve other bugs.
@simon It was fun to give Mistral's Vibe a task to compile it also without Xcode and give the binary a Finder-launchable gui.

@simon I have been writing iPhone apps this way too. I have 5 now, but haven't paid the Apple tax, so I can run them on real hardware.

My first two are in Flutter, then I decided to have Claude port them to Swift and it's been nice.

I have a TV viewer app so I can use a FireTV, both audio and video, on my Mac and it nailed it.

@webology @simon I've had a need for an iOS app for a while but never had time to learn. Claude knocked it out in a weekend and I'm about to submit to the App Store. Gotta try some menu bar apps now!

@jcarbaugh @simon I'd love to know how that goes. I have two iPhone apps that I want for PyCon US, but I thought I should probably set up a new LLC first before paying the Apple tax.

I was really happy with how my PNP app came out. I don't have my hdmi+usb input here, but it makes it possible to frame an AV source, resize, and float it over other windows.

@webology very cool! How many iterations did it take to work with audio and video inputs? I've got an AirPlay/Raspberry Pi project on my todo list.

I debated over an LLC for the App Store but am keeping it US only to hold off until I'm ready to set one up for EU trader registration.

@jcarbaugh My MVP was a one-shot. I started it then walked with Frank to get coffee and when I got back it was built and running. I put 45 minutes into over that day to get everything look how I wanted.

This was a month ago and I was using Claude 4.5 but used Codex to fix some crashes trying get resizing the window to respect our input video's aspect ratio.

I'm not doing AirPlay though.

@jcarbaugh CC has been amazing for hardware though. I connected an old Kindle Fire to an RPi4 and asked CC to connect to it and use a web browser to grab a screenshot and it didn't miss a beat with ADB even over a weird setup where it has ssh'ing from my mac.

I have had similiar luck with Home Assistant and even some random ESP gear with micro python.

I don't think people realize how good this is.

@webology @simon does this mean, if I write my own app and want to put it on my own phone I have to pay apple?
@simon even when working in Python sometimes I have it export as json and have my agent write a small Swift CLI that renders gorgeous charts to PDF or images using Swift Charts and SwiftUI. Runs completely headless, and produces beautiful results.
@simon what keeps me away from doing this kind of stuff is that I think I need to have a compiler and a development environment. I was surprised to read that you don't have to open Xcode.
I have several ideas for apps on my Mac but I don't want to install Xcode because when I tried last time it was utterly complex.
@simon I was once a Java developer, but for years I haven't written any line of code. I do have a MySQL database for my own. It grew over 20 years and the most stuff I'm doing is will shell scripts or SQL.
So I downloaded a qwen 3.5 model into my LM studio on my Mac with 128GB of RAM.
Then I gave it one of my shell scripts and said please create a Java application with a swing GUI. Nothing too complex because all my scripts are basically simple. I was aware of the MySQL jar file I would need. Less than half an hour later, my GUI application was done and worked. Even with being a Java developer, I think I wouldn't have been that fast.
There were only two minor things where it failed, but I could figure it out very quickly.
Amazing

@simon
> My initial curiosity was to see if Dropbox was transferring files via the LAN from my old computer or was downloading from the internet.

Out of curiosity, what was Dropbox doing in the end?