Derex.dev

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