Inspiration
Foldable phones have had hinge sensors for years, and everyone used them for animations. We asked: what if the hinge were an input device and the two screens a 3D corner? Science fiction already had the answer: folding space. So: fold the phone, fold space.
What it does
FOLDSPACE is a space-exploration game where the iPhone Duo's hinge is the ship.
- Close it smoothly → warp to Alpha Centauri or TRAPPIST-1 (Alcubierre-style; slam it and the bubble collapses)
- Squeeze and snap it open → fire the Nova Lance and shatter a planet in the crease
- Close it slowly around the Sun → dive from the $10^{6}\ \mathrm{K}$ corona to the $1.5 \times 10^{7}\ \mathrm{K}$ core
- Fold it near Sagittarius A* → bend gravity while Earth's clock races: $\dfrac{d\tau}{dt} = \sqrt{1 - \dfrac{r_s}{r}}$
- Pump it four times → charge the $2.5 \times 10^{6}$ light-year jump to Andromeda
A 3D planet hologram sits in the fold, its camera driven by the live hinge angle. The outer display shows FOLDING SPACE while the phone is closed.
How we built it
SwiftUI + SceneKit on the iOS 27.1 Duo APIs. onHingeChange feeds a HingeEngine that turns the continuous angle into velocity, posture and discrete gestures (hop, warp-close with a quality score, squeeze/snap, pump, flat); reservedRegions(kind: .division) places the fold seam; size classes do the layout. Real astronomy data for 26 worlds, Sgr A* and M31; 26 Blender-rendered textures and a gravitationally lensed black-hole loop produced from a physics brief; a Supabase Galactic Registry, an OpenAI ship computer, and Sentry monitoring.
Challenges we ran into
Xcode 27.1 beta requires macOS 26.6+ and our build Mac was on 26.5, so the native hinge lives behind a DUO_SDK flag while a simulated hinge and CoreMotion tilt feed the same engine. Making gestures unambiguous took real work: hysteresis so a squeeze never reads as a warp and a hop never reads as a close. Ten thousand lines written in parallel had to be integrated in one afternoon, and a mid-build macOS restart did not help.
Accomplishments that we're proud of
A control vocabulary that only exists on a folding phone: close = warp, snap = fire, pump = charge, fold = gravity. The hologram in the fold, the same trick as the 3D corner billboards, driven by the hinge angle. Physics that holds up: real solar-layer temperatures, photon ring at $1.5\,r_s$, ISCO at $3\,r_s$, a Doppler-beamed disc with $I \propto D^{4}$, and tidal stretching $\Delta a \approx \dfrac{2GML}{r^{3}}$.
What we learned
The hinge is for interactions and effects, never for layout; that is Apple's guidance and it kept the architecture clean. A continuous sensor becomes a great controller only once it is turned into a small, unambiguous gesture set. And "not possible before" is a design constraint, not a slogan: every feature had to fail the flat-iPhone test.
What's next for Foldspace
Run natively on the iPhone Duo simulator and hardware (flip DUO_SDK); use .occlusion regions to keep HUD readouts off the camera; a second window (galaxy map) for Split View; a two-player mode with the outer display facing an opponent; face-tracked parallax for the hologram; more real systems from the NASA Exoplanet Archive.
Built With
- avfoundation
- blender
- bpy
- corehaptics
- coremotion
- css
- github-actions
- html
- ios
- iphone-duo
- javascript
- markdown
- openai
- osl
- postgresql
- postgrest
- python
- scenekit
- sentry
- supabase
- swift
- swiftui
- uikit
- xcode
- xcodegen
Log in or sign up for Devpost to join the conversation.