100 Days of Swift
I don’t even own an iPhone. But I’ve spent late nights hacking in simulators, grinning every time a button animates just right. There’s something thrilling about watching code breathe life into a tiny rectangle on your screen. It’s not just about building apps—it’s about mastering the craft of native development.
Swift is my entry point. I want to deeply understand what makes a great iOS app tick—from memory-safe language features to silky-smooth SwiftUI transitions. And when I’m done? Kotlin’s next. Because building cross-platform apps means respecting both sides.
Still, starting this challenge wasn’t easy. I hesitated. I already “kinda” knew Swift—enough to follow tutorials and build basic UIs. But I wanted more:
- To write better Swift, idiomatic and clean.
- To understand the “why” behind the syntax.
- To practice daily until I didn’t have to Google how to unwrap an optional or use a closure.
So here we go—no more passive tutorials, no more excuses.
The Challenge
Solve one Swift or SwiftUI problem every single day.
- Deliverable: A public blog post + GitHub snippet explaining what I did, why it mattered, and how it works.
- Focus: Deep fundamentals. No fake startups, no infinite scroll clones. Just real, reusable concepts—one brick at a time.
By Day 100, I’ll Have:
- 100 mini-projects in my public repo—proof of consistent growth.
- Muscle memory with Swift’s core syntax, SwiftUI layouts, Combine, concurrency, and more.
- A daily habit of writing, building, and reflecting—even if it’s just 20 minutes a day.
The Plan
- Daily Problems: From Day 1’s “Hello, Swift!” to Day 100’s “Build and publish a Swift Package,” each post will be tight and scoped.
- Beginner’s Mindset: Every post is written like I’m explaining it to a smart friend who’s never seen Swift before.
- Show the Mess: Compiler errors? Bad architecture? Confusion about
@StateObject
? I’ll share it all. That’s where real learning lives. - Public Commitment: Posts go live daily on my blog, Twitter, and GitHub—so feel free to call me out if I skip a day. 👀
My Mental Model
Swift = clean composition. It’s not magic. It’s Lego. You don’t build massive apps from scratch—you snap together tiny, testable parts: structs, views, modifiers, publishers, actions.
I’m not here to memorize syntax. I’m here to think like a native developer.
Takeaway
Coding daily sounds small. But 100 small steps in the same direction? That’s a journey. This challenge is my blueprint—not just for Swift, but for how I’ll tackle Kotlin next. One concept at a time, shared publicly, no ego, just progress.
So here’s my promise: I’ll show up every day. I’ll build even if I only ship a single line of code. Because this isn’t about shipping apps—it’s about becoming the kind of developer who can.
Let’s get started. Day 1: “Hello, Swift!” drops tomorrow. Let’s build something weird, useful, and totally ours.
Let me know if you’d like a matching visual or landing page mockup to go with it.
Did I make a mistake? Please consider Send Email With Subject