Mobile
Foldcade
An iOS app that turns Apple's folding iPhone Duo into a tactile 90s handheld console, built with Swift 6, SwiftUI, Metal shaders, and StoreKit 2.

Tech stack
What I built
- 01
Built exclusively for iPhone Duo, the app treats the fold as part of the experience: the outer display is a cartridge case for picking a game, and unfolding turns the inner display into a console split exactly at the hinge, with a curved CRT above and a control deck below. Folding pauses the game and unfolding resumes it.
- 02
Uses the iOS 27.1 hinge APIs to drive the CRT curvature, an unfold chime with haptics, and a game controlled by folding the device. Layout follows the fold's reserved regions and moves content aside from an active camera.
- 03
Twelve original games run at 60 FPS in a SwiftUI Canvas behind a Metal layer-effect shader with four screen modes (Color CRT, Pocket LCD, Trinitron, Arcade Monitor). A six-channel chiptune synth on AVAudioEngine plays sound effects and per-cartridge music, alongside CoreHaptics feedback, skins, achievements, daily challenges, a pixel-art label designer, and VoiceOver support.
- 04
Monetized with a single StoreKit 2 non-consumable whose contents are derived from the items it unlocks, and covered by unit tests for purchases, restores, and refunds.
Next project
