I’ve been in the mobile development industry for almost 15 years, and this AI/LLM era might be the worst.
My work are mostly freelance, gigs, hourly, milestones, and I could say 90% of my experience are greenfield projects. I don’t have any apps on my own, I make a living coding apps for others.
Before AI
Back in the day, during a client kickoff they usually hand me a document with a UI prototype and a list of features. Then, you start from scratch, File - New Project. git init that shit and you’re on your way.
Everything was calm, clients just wanted a weekly or monthly feedback because they know how hard mobile development is you know. No pressure. You can focus on the great work, clean code, proper variable naming, proper git commit, all that stuffs.
In 2-3 months you get an alpha or beta build out, and clients are very happy. They can’t believe there idea, has now transformed into something they can play with.
Start of AI era
Fast forward to today, or maybe it started around 2-3 years ago. Nothing wrong with it at first. Like any freelancer, I try to adopt with the latest trends.
At first it was just code snippets.
Hey! I asked AI for this code, do you think this will work? I think you should use it.
Okay, so this non-technical person is sending me codes now.
I mostly reply with
It’s alright I got some working code blocks that worked in production perfectly fine. Thanks though!
But, then this code snippets get larger and larger as time goes on. I'm thankful for this suggestions of course. But, it's just additional work when you're coding and you get this AI source code and then you have to think on how to merge this code with a different coding style and variable names into your codebase.
Vibe Coding era
The first clues started when a client, who I thought was a software developer, starts merging his own code through the main branch, without warning. No pull request, just straight git push --force origin main.
As I started to checkout what the code was about, I started seeing this emojis inside the print() statements. I thought, this is so odd and unprofessional.

I tried to Google search the macOS shortcut for emojis, to match this person's vibe. This fella must really like emojis you know. It turns out, AI code has a lot of emojis along with it.
The other sign was how the branching, and merging works with AI. And maybe feature request? I really don't know. For example, one vibe coded project has 1,227 branches and counting. I haven't merged one yet, I let the client deal with that.

Last time, I checked this Xcode project did not compiled. Or anything close to it.
And the last thing that made me snapped was, all this vibed source code were located inside one file ContentView. To anyone who's not familiar, ContentView is the first SwiftUI file created when you start a new Xcode project.

All the UI logic, view models, model are located inside that file. Worst part, this is currently live in the App Store.
Conclusion
I totally get it, everyone has to make a living. Creating an app is one of them. I just feel sad with how AI has bastardized my profession, which I worked hard for the last 15 years. There is no best practices anymore, no proper process, no meaningful back and forth. Just dealing with thousands and thousands of lines of code at every project kickoff.