Would you consider having a way to export work done in this app to be included as part of regular Xcode projects?
I've been working on a project and sometimes when I'm away from my laptop I have ideas I want to try in SwiftUI but only have my phone on me. What I end up doing is just writing my idea in text and then waiting till I'm back at my desk to give it a shot. Being able to spin up a quick prototype and preview it on the go could be cool.
I don't think my dog would enjoy me lugging my laptop on our walks but my phone is no big deal ;).
On a personal note, I wanted to thank the HN community. I’ve been reading HN since college (for over 15 years now!) and it’s been formative in my development as a software engineer and leader.
I don’t pipe up very often, but I visit HN almost every day. Many of the books I read, blogs I frequent, and podcasts I listen to, I found via HN. I think it’s fair to say, if it weren’t for HN, that Bitrig wouldn’t be Bitrig and SwiftUI wouldn’t be SwiftUI.
That’s great and I’m glad you feel good here. I think it’s time for you to share what you found over the years on HN with us. Your curated list, if you will.
Hello fellow lurker. I for one am glad you are here ;-)
And I echo the thanks. HN has made me a better technical professional in so many ways.
This is crazy, you guys basically rebuilt Swift (interpreter instead of compiler) and also the frameworks. This is the level of engineering that does the magic of "it just works". I, personally, am very interested in swift, and would love to work for free for you guys.
This app is really quite fascinating as well as amazing. I have been using it for a week now. I do like how it is so good with Swift and iOS; you have done a great job of removing so much of the confusion that LLMs must face when trying to develop for a demanding platform. The API insight the app has is a testament to your deep background and foresight into iOS development. I really love this.
Also, I have been taking the code and advice from Bitrig into Cursor, because it solves problems Cursor struggles with no matter what model it calls.
Your work is empowering, but more than that, it is inspiring, because I can now start to envisage what computer human interaction will look like in the near future.
You have taken away a layer of complexity to creation and that is to be applauded. I think your work is a landmark. I think Bitrig will unleash a new era of creative expression. I wish that I was part of your team.
Wow that's really high praise. Thank you.
For some reason I dislike Log-In by Mail. Since this is purely based on iOS devices, log-in with Apple seems to be an obvious and frictionless solution.
I've been using the app a bit and I like the idea but one of the major things keeping me from using it is that the model is just fundamentally lazy and without having an easy way to review the code on my phone it's not easy to check its work. If it needs to do something which requires talking to a web API it will often just populate the app with fake data silently. Apps for phones are very dependent on web APIs and with people heavily locking this down these days (when's the last time you've used an API that doesn't ask you for an API token?) I feel like most of the apps are limited to being local-only. There are plenty of nice local-only apps on iPhone, don't get me wrong. I'm sure there is a timer app that is just right for everyone. But most of my tasks require more context about my life, or the outside world. Bitrig isn't able to oneshot this yet–but it definitely does make pretty UIs.
Yeah this is an area we want to make a lot better. What we're currently thinking is giving the model a way to more explicitly call out that it is adding a call to something that needs an API key, which would add something to the UI to allow you to just paste in your key.
I think there's also work when need to do in the system prompt to guide the model away from all of the placeholder data (or at least so that when it adds it there's a better affordance to transform it to real data).
When I was in middle school I remember a friend lieing that there is “a mobile app to create mobile apps”. I thought it’s an amazing idea, but it was way too early. I love how this hallucination became a reality. Good luck!
Neat. I just tried it out and one thing I was pleasantly surprised about was the styling it came up with. It was sleek, and it did not have the purply gradienty tailwindy styling that I always get from Claude. Did you do much to adjust the prompt for custom styles?
Styling apps is an area we're excited to spend time exploring. Today in our system prompt we say "ALWAYS make the design Apple-like. Use clean typography and consistent padding/spacing." However, tbh it's not something we carefully tested.
For the most part, I think the look and feel of the apps benefits from SwiftUI baking Apple's design system into the defaults so heavily.
This is really cool of you to openly share the prompt - props for that.
Really cool product, as someone currently attempting to build a somewhat similar internal tool I have an understanding of some of the pain points involved.
Please don't allow yourselves to be bought out by Apple in the way Buddy Build were back in 2018 though! (and then shut down)
It doesn't seem like this is the direction you are going, but this feels like what Siri could become (though I have little faith given the history).
With your sunscreen example, I should be able to just ask Siri to do exactly this, and it could tap me in my pocket, show me a custom UI to log periodically and then disappear.
Not sure on limitations of APIs on iOS but definitely feels like there is space for a better voice assistant, just like how Raycast have created a better Spotlight on Mac.
Looks very cool so far!
Maybe this paired with something like App Clips? I don't see them used much these days but could make them more useful.
Yeah, I think that whole area of dynamically generating UI is really interesting. And having a Swift interpreter like we're using would unlock doing that with native UI components.
Our background is more in making developer tools, so bitrig was the first product we were excited about, but I think there's a lot of overlap with dynamic UI generation, and we'd love to explore that too.
Nice. Are you folks thinking about Kotlin/Flutter on Android too, or is it going to be exclusively focused on the ecosystem around Swift?
There’s still a lot to do to make this work really great for the Swift ecosystem, and that’s where we have the most expertise, so that’s what we’ll be focused on for now.
That said, we think this same approach could work really well on Android, and it’d be interesting to expand there too.
PRO payment is per month or per year?
Doesn’t work at all for me.
Entered my my prompt… It did a bunch of stuff - apparently initially focused on making me an app icon which I don’t really care about.
I moved away from the app, went back and everything had gone and my prompt was just sitting there by itself.
I said “please proceed” and it opened a new chat, did the same thing. It was doing stuff, I moved to something else, went back, everything vanished.
So that’s two of my five free messages zapped. And all of my patience.
Sorry about that, I reset your free messages for the day, so you should be back at 5.
Moving in and out of the project while messages are sending is a more fragile area of the app and we have some bugs to fix there.
Did you just casually built a workout posture tracking and rep counting app? :-)
Anyway, congrats on the launch!!
First, as a non-developer geek -- super fun.
What happens if you go over 100 messages/month?
I just burned my 5 free messages to get a simple toggle button working that just says "win" (with animated fireworks!) and "lose". I'm sure I'm not an efficient prompter, but it seems I'd knock out 100 messages easily in an afternoon, which looks to be the monthly limit at $20/mo.
(This is coming from someone who has no idea how expensive it would be to 'vibe code' using something like Claude ... so it may be an entirely unfair assumption that you could chat with this 'unlimited' for $20/mo ... that's what I have in my head as 'reasonable' only because that's what I pay for Gemini or ChatGPT and, for all intents and purposes, it feels 'unlimited'.)
Don't tell anyone, but once you're on the paid plan we're not actually enforcing the 100 message limit right now ;)
We're still in the learning phase, and are going to adjust the plans based on exactly the kind of considerations you're raising
Your secret is safe, hah! It's almost like you need an intermediate 'cheap/dumb' AI as a proxy to flesh everything out ahead of sending it off to be coded ... something that crisps up all the requirement and ultimately crafts a more cost-effective and likely all-around-better prompt. Even being semi-technical, I'm always surprised how much the details matter when describing something to AI (e.g., the fireworks should only explode _outward_, not inward, lol). Thanks!
There's a lot I want to do to improve the prompting experience. As I mentioned in the original post, it's very simple right now.
There's a lot of inspiration we could (and probably will) draw from other products (e.g. Cline's Plan vs Act modes) to build what you're describing.
It can also be really fun and productive to just rapidly iterate on what the AI gives back, without having to take the time to describe it all up front. Sometimes this approach can lead to a new directions you might not have thought of.
> We’re ingesting Apple’s SDK frameworks into Bitrig piece by piece. If you try to build something and hit a missing framework, let us know and we’ll prioritize adding it.
Submitted request for WebKit to be added.
In the app I asked it to make, I requested that it use a web view to log into YouTube. The generated app opens a mostly blank screen with no web view, and from what your app told me I think it’s because it’s missing WebKit.
WebKit as a whole might be big, but maybe some subset of it to support web views and get cookies from the web view could be supported?
We’ve gotten a lot of requests for WebKit, so we’ll try to add it soon.
If we hit issues we can try to pull in just a subset, but one nice thing about Swift is the frameworks have .swiftinterface files which list all the APIs in them, so we’ve generally been able to pull in whole frameworks at a time.
Nice :)
Very cool! Was it difficult to get Bitrig approved on the App Store? If I had to guess just based on the idea, it seems like the sort of thing Apple would take issue with.
Heh... it definitely wasn't an overnight approval. However, Apple has relaxed the guidelines for developer tools compared to the early days of the App Store. If you look today there are Python IDEs, Jupyter Notebooks, and various other apps that execute user generated code. The key guideline to be mindful of is 2.5.2.
Apart from this great app, what is the current state of the art in vibe coding iOS apps? Just using Cursor with an open iOS simulator?
Hey,
I do not own an iPhone and I do not use swift. I just want to say congrats on the launch, this looks and sounds really cool. And watching your interactions in this thread, you look like you'll do really well!
This is what Apple Intelligence should’ve been.
Seems like a cool concept! I downloaded and entered an email address but haven't received a verification code yet after 10 minutes. It's an Apple Private Relay email if that matters.
Also, side note: magic link or email-based OTP login is by far my least favorite method of login, especially for a phone app. It's cumbersome, annoying, and completely unnecessary now that passkeys exist. Barring that I'd still rather use email/pw login any day of the week.
That's weird, can you try hitting back and then the forward arrow again? That should resend the email. If that still doesn't work, let me know and we can investigate on the backend.
We've definitely been hearing from users who don't like OTP, we'll try to get additional login options added soon.
I eventually had it come in another few minutes after I left the comment. And sounds good! I’ve had good success with Clerk for auth in the past.
Now that I’ve gotten to play around with the app I have to say I’m impressed with how smooth it feels and how well the Swift interpreter works (at least on the basic prompts I’ve tried). One suggestion: allow toggling between an “edit” mode and a “view” mode. The latter would full screen the app and hide the interface for follow up prompts, etc. that would make it easier to approximate how the app will behave in the wild.
I could see this eventually turning into sort of a social platform for mini-apps, by the way! Where users don’t even necessarily need to publish to the App Store if they’re just creating something for themselves and a few friends.
We probably need to make this more discoverable, but if you keep swiping down on the prompt area, you can swipe it completely off screen and your app will be full screen (with a small movable floating button to exit).
I really like the idea of a platform for people sharing mini-apps! It would be great if people could make lightweight specialized apps for different niches and share them with less friction.
That’s interesting, on a desktop device I would agree. However having to create an account on 1Password for an app I just want to try is a pain compared to using Apple’s Hide my email and entering in the OTP. I get that it didn’t work for you but it did for me.
It’s 2 extra button clicks to generate a password and save it on 1Password, and you never have to leave your current context.
Versus for email OTP you have to switch to your email client, find the email, perhaps refresh a few times waiting for it to come in, click into the email once you see it, highlight the OTP, click copy, then switch back to the app and finally paste. I don’t understand how anybody could possibly prefer it.
Very cool. I would probably build this using SDUI server driven abstractions. Curious if you considered that approach to build bitrig or parts of it.
I’ve been playing with the TestFlight build and it’s really solid. Can you share any under the hood details of how the system is able to accurately map the loose prompt to fully native SwiftUI components. Mostly curious because I’d love to also build internal data dense apps typically better suited for desktop.
Great work and I hope to become a paying customer soon!
Yeah, the prompt is just asking Claude to generate a SwiftUI iPhone app. The recent models have been able to generate really good Swift code, so we just have a set of best practice instructions we've been accumulating (telling it to make an app with @main, pointing it to/away from some APIs, encouraging it to persist things in UserDefaults, etc).
I think most of that would work pretty well for making SwiftUI desktop apps too.
It would be lovely if the community had this knowledge about API's to avoid and approached to adopt. SwiftUI programming is a tightrope walk of stuff that works over a chasm of time lost to testing.
I’ve just tested it out, and purchased a subscription within 5 minutes, for an app we were seriously discussing with a friend over the last days.
Keep crushing!
Great, excited to see what you build with the bitrig. Definitely reach out with any questions or features you’d like to see!
Quick note: it’s hard to pull down the prompt panel down, and makes for a frustrating UX (just there)
Thanks for the feedback - that one has come up before so stay tuned for updates.
Sorry for the support query here - but I’m blocked in a bus and am HOOKED.
At the moment the prompt just loops for a second and then produces no answer :(
I'm using Firefox for Android, and I'm unable to scroll on the homepage at all.
Thanks for letting us know, we'll get this fixed in other browsers (we've been just looking at it in Safari).
Chrome on android is stuck too.
With vibe coding, I generally find that it will get me 80-90% of the way to where I want to be, but I generally end up having to do some work too. How does that work here? Is there any way to later edit the app on my mac if I need to? Similarly, once my app is "done" for some definition of done, can I compile it into a native app rather than an interpreted one?
Yeah that’s been my experience too. You can edit the Swift code directly in bitrig, though editing code on a phone is not the best experience. We’ve had a lot of requests for a Mac app. Stay tuned ;)
You can get a compiled build of your app from bitrig: go to Distribute App which will build your app on our server and then upload it to TestFlight for you (this requires a paid Apple Developer Account). This lets you install the compiled app on your Home Screen. You could also always export the code if you want to build it yourself.
Consider adding BYOK/Bring your own API for LLM calls if possible, some of us like to keep our data with ourselves, no matter what that data is.
I stopped using Apple products but need to create a couple of iOS apps. I was debating buying a Mac Mini or using "Macincloud" but this seems like an excellent option. Being able to edit the Swift code means fixing nuances.
I'll likely subscribe to your service.
For distribution strategy you could experiment with letting people create simple apps for free and put a perpetual ad for your service ad the bottom of the app.
Yeah we’d love to find a way to give away more in the free tier for hobbyist users and subsidize that with other things. The idea of us putting an ad in unpaid apps as another option is interesting.
What big assumptions are you testing with it?
I pasted your URL into my app and it came up with:
- Non-developers want to create mobile apps without coding. - Users are willing to pay for an AI-powered mobile app builder. - AI can generate functional apps using only a conversational interface.
I think that’s a pretty good list. The main one I would add is “creators will want to make native Swift apps to have a better user experience”
Hey Kyle, looks very cool!
- If Bitrig can do things like let your app have editable data, or make rest api calls, etc. it would be nice to see a little more in the demo video.
- Sounds like you don’t have an expensive mic/studio for recording, but luckily this is free and can work wonders for your audio: https://podcast.adobe.com/en/enhance
Best of luck with the launch.
Ya, I agree it makes sense for us to record a more tutorial length demo at this point and we can show off things like that.
Thanks for the tip about the mic. Fun fact: it's me in the video, but it's Jacob doing the narration :P
Just bought my iphone16 yesterday
Going to try this now
Huh I was just thinking vibe coding on my phone while having a beer would be fun. I’ll check it out. Is there a good way to give feedback? I didn’t see any obvious community/contact/discord/discourse on the website.
Yeah there’s a Send Feedback button when you’re in a project that sends feedback along with the code for that project.
We also have a discord here: https://discord.com/invite/C7ndWKKq2S
This is a really good idea, but I’ve noticed that, even with developer experience and using Claude code, building a complex app is extremely difficult and takes dozens of prompts to get things actually working. This is probably a great prototyping tool, but I’m curious to know how far this can go to build production level apps.
With what we've tried so far, Bitrig already works well for prototyping and making smaller apps.
Really large and complex apps will probably require improvements to both Bitrig and the underlying models. However, both those are coming :)
I wish Apple would let us build and install these apps locally without fuss.
Amen, brother.
So I have an existing typescript project, can I still use your software to build the app part of it in a monorepo?
We don't currently have support for editing code directly within a repository, but that's something we're excited about adding.
In the meantime, one thing that's worked well for us is building a component/screen/etc as a standalone piece in bitrig, and then bringing it into a larger project from your computer later. You can easily export the code you make in bitrig for those kinds of workflows.
Tried to create a canvas like app view, your app froze after some prompts (guess the swift interpreter?) reopening the app and selecting the project again does not help
Thanks for trying, sorry you hit that issue!
Could you send us feedback from your project? (Go to the ... menu, then Send Feedback.) If you're not able to use the UI from within your project you can long-press on it from the main screen and choose Recovery Mode, and then enter the project with the interpreter disabled.
Are there iOS apps that let me create native Swift apps for my phone (including execution on my device, not in the cloud), on my phone, but _without_ chatting to AI? Just by writing code, the "old" way?
There's the excellent Swift Playground for iOS, requires an iPad: https://developer.apple.com/swift-playground/
You can edit the code directly in Bitrig, but we haven't optimized the experience around that.
Are you imagining you'd be editing the code with the software keyboard or a paired hardware keyboard?
I'm imagining quick prototyping (including on-device, offline execution) of small pieces of code (potentially growing into a small app) with the software keyboard, like in Pythonista or Pyto.
My workflow often goes like this: got an idea, let me quickly test it on the go, like while walking down the street, working on unrelated stuff or just chilling. Open up Pythonista, write some code, run it, tweak it, etc. If a piece of code becomes important enough, I copy it to the computer and continue working on it there.
I use both those for Python, very much enjoy them on iPhone in particular for little UI apps. Equivalent iPad workflow for me had been Swift Playground on iPad and Mac, although it seems stuck about a year ago at Swift 5.10 and iOS 17.5 SDK.
Much slower (minutes) with Xcode Cloud and a git repo, if I can git commit from my iPhone, I can edit app code and commit, watch Xcode Cloud Build see my commit, watch it build with debug logs, and when it works it shows up in TestFlight. Very much not offline, and minutes long loop.
Cool, that's really helpful context. We'll take a look at the code editing experience in those apps for inspiration.
The data collection is very concerning and is preventing me from using the app though I want to
Is there a certain part of the data that the service collects that you're wondering about?
We aren't doing anything shady or unexpected with the data given the server-based model – projects are stored on the Bitrig server, but we aren't selling the data, using it for training, etc.
We may use the data to improve Bitrig in the future (e.g. by gathering information on the popularity of certain APIs to prioritize bug fixes and new features).
All AI requests use Claude, which of course sends some data to Anthropic.
Given they haven't replied, I assume that they are certainly collecting data from how you are using those prompts to build your apps and also with the outputs.
So don't paste any tokens or keys into these AI tools.
I love what you guys are doing but highlights how absurdly hard iOS development is compared to web
I don't share your assessment. Is it because I did iOS apps before web apps? Curious how many others feel the same?
Seems like a reasonable poll question: Which is harder: web app development or native app development?
I was telling a younger colleague the other day how back in the day, I was "competing" with a peer at a company doing nuclear design software (Siemens Power Corp at the time). I was doing it in VisualWorks Smalltalk, he was doing his in straight C and X Windows. Competition aside, both of us built multi window complex graphical design tools that front ended heavy duty simulators, managed various batch jobs, tons of IO, parsing, and lots of color graphic drawing (mine was for fuel assembly (pin and axial enrichments) design, and his was for core layout (where the assemblies go during each reload)). The graphics were simpler (no antialiasing, any alpha we did with clever dithering tricks, not much in the way of animations, though we did each roll some). Both even stored /retrieved into a sort of database (a homegrown data versioning system). But... it was just one of each us for each "app".
Sadly, all Ux development seems orders of more magnitude complicated and beuqacratic now days. Some things are easier and vastly simpler than they used to be, and yet, the sum result is more difficult. I'm not exactly sure why.
native app development is harder not because of some inherent complexity mostly but because you are shipping binaries through 3rd parties you don’t control which makes versioning an annoying problem web devs don’t have to deal with, app review makes true continuous delivery pretty much impossible and also means true rollbacks are pretty much impossible (i know about codepush and expo updates), proprietary core and dev setup limits dev tooling also
Concern about app security?
Totally agree, we have a lot of ideas for how to make the experience better.
this is super super cool - awesome to see something technically hard and novel. congrats on the launch!
I downloaded the app but it keeps crashing on open
Sorry to hear that! What version of iOS are you running?
ios 18.1.1
I'm on an iPhone SE, and the UI doesn't quite fit. The response text isn't easily scrollable, so I have to drag the text up, instead of just scrolling.
Thanks for the heads up. I confess, I did not test it on an SE. We'll take a look!
I always do my dev testing on the smallest and largest iPhones. I recommend going with smallest only as your primary driver if you don’t make use of the sidebar behaviors on the largest ones.
Not to be confused with Bitwig music production studio/software.
My mind immediately reread your comment using Bawwy Kwipke's voice. I think I've watched too much BBT at this point.