A Ben 10-inspired Apple Watch app that recreates the Omnitrix transformation device experience.
Tap → Browse aliens → Tap alien → Transform with 20s timer → Auto-revert
MVVM Pattern with clean separation:
Models/
├── Alien.swift # Alien data (name, symbol, color)
└── OmnitrixState.swift # App state enum (inactive/selecting/transformed)
ViewModels/
└── OmnitrixViewModel.swift # State management, timer, haptics
Views/
├── ContentView.swift # Main coordinator (routes between states)
├── InactiveStateView.swift # Pulsing Omnitrix logo
├── AlienSelectionView.swift # Swipeable alien carousel
└── TransformedStateView.swift # Timer ring with alien display
Inactive → (tap) → Selecting → (tap alien) → Transformed → (20s timeout) → Inactive
- Inactive: Pulsing green Omnitrix logo, tap to activate
- Selecting: Swipe or rotate Digital Crown to browse 10 aliens, tap alien to transform
- Transformed: Circular progress timer (20s), turns red in final 5s, auto-reverts
Heatblast, Four Arms, XLR8, Diamondhead, Stinkfly, Wildmutt, Grey Matter, Ripjaws, Upgrade, Ghostfreak
- Tap: Activate Omnitrix, select alien
- Swipe: Browse aliens (vertical pagination)
- Digital Crown: Alternative browsing (with haptic feedback)
- Timer: 20 seconds, visual ring depletes, turns red at 5s
- Activation:
.click - Transform:
.success - Crown rotation: Built-in per-step
- 5s warning:
.notification - Final 3s:
.clickper second - Timeout:
.failurex2
.focusable() must be on the same view as .digitalCrownRotation(). Applied to AlienSelectionView in ContentView.swift.
Managed in OmnitrixViewModel with proper cleanup to prevent memory leaks. Uses @Observable macro for automatic UI updates.
struct Alien {
let name: String
let symbolName: String // SF Symbol
let primaryColor: String
}- Language: Swift 6.0
- UI: SwiftUI
- Target: watchOS 11.0+
- Framework: WatchKit (haptics)
- MVVM architecture
- State-driven UI with enums
- No buttons (tap-to-interact like real Omnitrix)
- Clean, minimal design
- Proper separation of concerns
- Custom alien images (replace SF Symbols)
- More aliens (Ben 10 AF, Ultimate)
- Persistent alien selection
- Watch face complications
- Custom transformation animations
Status: Fully functional with proper Digital Crown support and clean architecture.