Home

Awesome

100 Days of SwiftUI & Combine

<img src="./Assets/swiftui-badge.png" width="88px" /> <img src="./Assets/combine-badge.png" width="88px" />

Projects, playgrounds, and other material made while following along with Paul Hudson’s 100 Days of SwiftUI course -- and adapting it to my own experiments around Combine and SwiftUI architecture.

If you're just getting started with SwiftUI, I'd recommend the About SwiftUI repo as a reference of all the different learning resources out there. Hopefully, though, this repo can offer some helpful examples, too.

For each day that proves conducive to some kind of code or content, I'll make a standalone folder and link to it below. I'll also make a section for any standalone projects that span multiple days so those can be found directly.

Personal Note

I'm currently seeking freelance, remote opportunities as an iOS developer! If you're looking for an experienced software engineer who's been diving deep into SwiftUI, Combine, and iOS 13 since WWDC (and who welcomes being paid in Bitcoin 🙂), and you could use some help with any of those things, please feel free to reach out ✌️.

Days

<details> <summary>Full List</summary> </details>

Projects

<div style="text-align: center;"> <img src="./day-016/projects/WeSplit/Screenshots/recording-1.gif" width="300px"/> </div> <br/> <br/> <div style="text-align: center;"> <img src="./day-019/TheBestConverter/Screenshots/recording-1.gif" width="300px"/> </div> <br/> <br/> <div style="text-align: center;"> <img src="./day-020/Projects/GuessTheFlag/Screenshots/recording-2.gif" width="300px"/> </div> <br/> <br/> <div style="text-align: center;"> <img src="./day-025/RockPaperQuizzers/Screenshots/recording-1.gif" width="300px"/> </div> <br/> <br/> <div style="text-align: center;"> <img src="./day-026/Projects/BetterRest/Screenshots/recording-1.gif" width="300px"/> </div> <br/> <br/> <div style="text-align: center;"> <img src="./day-029/Projects/WordScramble/Screenshots/recording-day-31.gif" width="300px"/> </div> <br/> <br/> <div style="text-align: center;"> <img src="./day-032/Projects/AnimationSandbox/Screenshots/day-33-recording.gif" width="300px"/> </div> <br/> <br/> <!-- - [Milestone 2: MultiplicationTables](./day-035/MultiplicationTables/) --> <div style="text-align: center;"> <img src="./day-036/Projects/Spendy/Screenshots/day-38-recording.gif" width="300px"/> </div> <br/> <br/> <div style="text-align: center;"> <img src="./day-039/Projects/Moonshot/Screenshots/day-42-recording-1.gif" width="300px"/> </div> <br/> <br/> <div style="text-align: center;"> <img src="./day-043/Projects/DrawingSandbox/Screenshots/day-45-spirograph.gif" width="300px"/> </div> <br/> <br/> <div style="text-align: center;"> <img src="./day-049/Projects/CupcakeCorner/Screenshots/day-52-recording-1.gif" width="300px"/> </div> <br/> <br/> <div style="text-align: center;"> <img src="./day-053/Projects/Bookworm/Screenshots/day-56-recording-1.gif" width="300px"/> </div> <br/> <br/> <br/> <br/> <div style="text-align: center;"> <img src="./day-060/Project/SpaceXPayloadStats/Screenshots/day-60-recording-1.gif" width="300px"/> </div> <br/> <br/> <div style="text-align: center;"> <img src="./day-062/Projects/Instafilter/Screenshots/day-66-recording-1.gif" width="300px"/> </div> <br/> <br/> <div style="text-align: center;"> <img src="./day-068/Projects/PlaceCase/Screenshots/day-71-recording-1.gif" width="300px"/> </div> <br/> <br/> <div style="text-align: center;"> <img src="./day-079/Projects/QRConnections/Screenshots/day-83-recording-1.gif" width="300px"/> </div> <br/> <br/> <br/> <br/> <div style="text-align: center;"> <img src="./day-092/Projects/Project18Concepts/Screenshots/day-93-recording-1.gif" width="300px"/> </div> <br/> <br/> <div style="text-align: center;"> <img src="./day-096/Projects/PadFinder/Screenshots/day-099-recording-1.gif" width="300px"/> </div> <br/> <br/> <div style="text-align: center;"> <img src="./day-095/Dicey/Screenshots/recording-1.gif" width="300px"/> </div>