Stack A Flag
A puzzle game that teaches through play, selected for Apple's Swift Student Challenge

Overview
Stack A Flag is a puzzle game where players replicate national flags using SwiftUI layout tools. Each level teaches a new concept, building on the last until the player has to apply everything at once. It was selected for Apple's Swift Student Challenge 2020 among 350 projects worldwide. The premise was simple: what if learning a technical skill felt like playing a game instead of reading documentation?
Process
Finding the concept
Even after countless hours trying to learn to code, I always felt a barrier somewhere in the process. That changed when SwiftUI was announced at WWDC19. While working through a tutorial, I found a simple example that introduced the concept of ZStack and knew there was something there worth exploring. Using the forced connections technique from Ellen Lupton's book, I linked different concepts until I landed on vexillography, the practice of designing flags. Flags were geometric, culturally recognizable, and perfect for training the brain to see layout in a new way.

Prototyping before coding
Before writing a line of code, I built an MVP out of three layers of cardboard, duct tape, and glue to test the first three levels. The goal was to validate whether the progression made sense physically before committing to building it digitally. After positive feedback, I coded the full five-level experience in a week.


Designing the progression
Five levels total. Each one introduces a new SwiftUI layout fundamental, with the final level requiring players to combine everything they learned. The game works because the complexity scales naturally with what the player already knows. That progressive reveal of challenge is borrowed directly from game design, not from traditional learning tools.


Impact
Selected for Apple's Swift Student Challenge 2020 among 350 projects worldwide. Stack A Flag is a small proof of concept for something bigger: that the right game mechanic can make any complex system learnable, whether it's a programming framework, a piece of software, or a new piece of hardware.
Next Project
Cluster →