Vibe coding iOS App [Day 38]
- 17 Mar, 2025
![Vibe coding iOS App [Day 38]](/images/posts/post35/preview.png)
Vibe coding an AI-powered quotes app using a bunch of AI tools in 30+ days—because why not let AI do the heavy lifting?
This blog is my 30+ day adventure, from idea to launch, proving just how much faster things get when you have AI as your coding buddy.
Day 38: A Tale of Letting Go, Moving Fast, and Grandma’s CDN**
Let’s talk about Day 38. You know those days when you start with a plan, and then the plan looks back at you like, “Yeah, good luck with that”? That was today. But hey, progress is progress—even if it’s the kind where you drop authentication like it’s hot.
Goodbye Auth, Hello DeviceID
The day kicked off with a major decision: I dropped authentication. Yep, just tossed it out. Why? Because I’ve got 99 problems, and building a login system on Day 38 shouldn’t be one of them. It made perfect sense after I read this tweet by Simon Willison.

For this first version, deviceID will work just fine. Is it ideal? No. Is it working? Yes. Will I overthink this decision at 2 a.m.? Also yes.
But for now, it’s one less screen, one less flow, and one less reason for users to uninstall the app before seeing their first quote. So we’re calling that a win.
Moving Theme Assets to DigitalOcean Spaces: The Copy-Paste saga
Next problem that I solved was moving all the theme assets—over 50 lovingly crafted images—to DigitalOcean Spaces.
I’d love to say it was an elegant operation, but it was mostly me, manually copy-pasting files from local filesystem to DigitalOcean Spaces. But it was one time operation, and I was happy to get it done.
The end result? Worth it. DigitalOcean Spaces is dirt cheap, fast, and I can now serve 50+ images to the app.
Pairing It with expo-image
Enter expo-image, the unsung hero of this journey. I paired up DigitalOcean Spaces with expo-image to cache images. expo-image makes sure users aren’t staring at a loading spinner long enough to question their life choices. 😂
Honestly, if Quotesmatic ever makes it big, I’m sending these two a thank-you card. Maybe even flowers. 🌸
Mobile Development: A Whole New Brain
Here’s a plot twist I didn’t see coming: I had to unlearn some of my old web developer habits. Mobile dev isn’t just “web dev but smaller.” It’s like moving from a house with a garage to a tiny studio apartment—you can’t bring everything, and you’ll quickly find out what’s essential. 🤓
Every time I tried to do something “the web way,” Expo would gently pat me on the head and say, “That’s cute. No.”
Learning? Yes. Suffering? Also yes. Growth? Let’s not go that far.
Deleted AI-Generated Junk Code
Finally, I went full Marie Kondo on the codebase. If a line of code didn’t spark joy—or was randomly generated by an AI that thought I wanted a dark mode button inside a toast notification—it got deleted. Tech debt, reduced. App size, shrunk. Sanity, mildly restored. 😃
So yeah, Day 38 wasn’t glamorous. But it moved the needle. I ditched auth, offloaded assets to a place grandma could deploy from, and made the app leaner and faster. And somewhere between deleting junk and dodging web dev habits, I felt a little spark. Or maybe that was just caffeine withdrawal.
Either way, progress.
Stay tuned for more updates. 👍