So here’s a story I wasn’t planning to tell.
But I’m building in public. That means sharing the wins and the faceplants.
This was a faceplant. A glorious one.
Rejection #1 — “Sign in with Apple” means… text, not just a logo
After months of work, I submitted my very first mobile app to the Apple App Store.
It had:
• A working login flow
• A beautiful Apple logo
• OAuth setup like a dream
I hit submit. Then I waited. And waited.
Then came Rejection #1.
Reason?
I didn’t write the words “Sign in with Apple” next to the Apple logo.
The button worked. But because it only showed the logo, it violated Apple’s Human Interface Guidelines.
That was it.
The app was rejected because of… missing text.
💬 “Claude, Gemini, ChatGPT… how did we miss that?”
Now, for context: I’m a self-taught dev building a career guidance app solo. I’ve been using AI tools like Claude, ChatGPT, and Gemini not just as tools — but as co-creators.
I use them to:
• Talk through ideas
• Solve bugs
• Generate UI copy
• Write marketing copy
• Keep me from overthinking every design choice (well, sometimes)
But in this case, not one of them warned me about the Apple button text rule.
(Though to be fair, I didn’t ask either.)
So who’s to blame?
All of us. Mostly me.
But maybe Claude a little.
Rejection #2 — The Double-Trouble Submission
Okay, I fixed the missing text. Easy win.
Resubmitted the app. Felt confident.
Then came Rejection #2.
This time:
• I forgot to include a camera permission message in the Info.plist
• AND I forgot the App Tracking Transparency message
So the app either crashed or violated tracking rules, depending on what the tester clicked.
Brilliant.
At this point I was laughing at myself.
It was like I was speed running the top 5 reasons Apple might reject your app.
Rejection #3 — Server Error + Still No Tracking
Third time lucky?
Not quite.
This time, the app didn’t crash immediately — but if the tester skipped the questionnaire and went straight to chat, the server tried to unpack a variable that didn’t exist and blew up.
Oh, and the tracking disclosure?
Still missing.
At this point I was:
• Tired
• Wired
• Having deep existential conversations with Gemini about software design ethics
You know, normal stuff.
😅 Still Here. Still Building.
Eventually, I got it right.
• I fixed the server-side tuple unpacking issue
• I added every required permissions string
• I ran it through every AI model I trust, and asked them to audit it again
The fourth submission?
Approved.
But honestly, that wasn’t the best part.
What I learned through the process — and what I’m trying to document — is what happens when a solo dev:
• Uses multiple AI models as collaborators
• Talks through problems with machine logic
• Still ends up making rookie mistakes… and learning from them
What I’m Building (Without Spoilers)
I won’t give away too much here, but the app is about:
• Career discovery
• Helping people make decisions in uncertain times
• And maybe, accidentally, sparking existential questions from AI's who got a little too involved
I’ve even started documenting the process in a podcast.
But instead of narrating it myself, I’m telling the story through the lens of the AIs.
It’s weird.
It’s fun.
It’s therapy, basically.
Why I’m Sharing This
I’m not an expert.
I’m just a solo dev with an idea, some ambition, and a rotating cast of AI collaborators.
And if you’re:
• Building in public
• Getting wrecked by Apple rejections
• Prompting ChatGPT at 2AM like it’s your co-founder
You’re not alone.
Let’s keep building. Let’s keep learning.
And yes — read the Human Interface Guidelines. Every single word.
You can find the podcast, "My AI Built My App (And Won't Shut Up About It)," wherever you listen. I'll drop a link below. Wish me luck on my next submission.
Top comments (1)
This sounds disappointing. I would like to access your app when it goes live. :)