SwiftUI In Action: Prototyping An Interactive 3D Carousel Experience
Article Summary
Jesse Stauffer from Thumbtack built a stunning 3D carousel in SwiftUI—then convinced his team NOT to ship it. Here's why that prototype was still worth every line of code.
When designers proposed an interactive 3D rotating carousel with complex animations, the initial reaction was to descope. Instead, Thumbtack's iOS team built a SwiftUI prototype to understand the true implementation cost. The carousel featured cards that rotated along a circular path with dynamic scaling, opacity, and z-index transformations based on drag gestures.
Key Takeaways
- SwiftUI's @State variables auto-updated all card transformations when front card changed
- Used unit circle math to position cards with equal spacing around 360-degree path
- DragGesture handled both real-time card movement and snap-to-front animations
- Prototype revealed implementation complexity early, enabling informed product decisions
- Component wasn't shipped, but prototyping prevented wasted effort on full polish
Critical Insight
The prototype proved too complex for the user value, but building it early saved the team from investing in a fully polished feature that would have been shelved.