like most developers these days I use AI agents as part of my workflow, but I've never tried hands-off vibecoding an app from scratch. I have been learning to sing for half a decade, and take a braille display to lessons since it's easier to read lyrics than it is to have them spoken through an earpiece for example. It is pretty much my only use for braille these days. I've found though that lyrics on the web are often not very well formatted for line-by-line scrolling on a display, and navigating an app interface as someone who is not as proficient in braille as I once was can be a challenge.
A perfect excuse, then, to try vibecoding an app. Lyrx searches for lyrics using any of a few free public APIs and formats the output to suit line-by-line reading, with configurable character limits. It's built for MacOS and iOS with a native interface for each platform. It was built with GPT6 Astra in Codex, on a pro plan, set to the extra high effort level.
I did cheat a bit by specifying Swift 6 with strict concurrency, strict adherance to Apple's API and human interface guidelines, a few keyboard shortcuts, and an interface overview in the initial prompt. Other than that, I gave the model no architectural guidance, I did not specify the APIs to integrate for searches, and every other decision was left to the model. The full app took 3 prompts to build; 1 initial prompt did most of the work, and I refined the interface a bit in 2 prompts. The code is on Github, here.
Why am I publishing this? Firstly it might be useful to someone, though there is no pre-compiled build. If you want to use it, you'll need a Mac with XCode to build it yourself from the repo, which any agent will help with.
But I also think it's interesting since the vast majority of the vibecoded projects we see here are built with Claude. I have never liked Claude. I find it generates over-engineered code, and I don't like the way it interacts. It's too agreeable, too keen to please, and it doesn't check itself very well. In my experience GPT is better at following instructions, writes cleaner code without as much baggage, doesn't constantly tell me I'm right, and is better at staying focused in longer tasks or projects.
Code wise, is it perfect? no. But it's honestly not as bad as I thought it would be. It has demonstrated to me that having a strong set of agent rules and a good initial prompt can get you quite far. The repo is open for anyone to take a look at, so if you are a dev and are so inclined feel free to critique. To me it was an interesting experiment and I got a small personal use app out of it that I was going to build anyway.