A timezone scrubber app that lets you visualise time across cities with an interactive dial.
Most timezone apps use static displays or linear sliders. But time is cyclical — so WorldTime uses a dial interaction that mirrors how we actually think about time. Rotating the dial scrubs through hours, and concepts like “yesterday” and “tomorrow” become intuitive as you cross midnight.
WorldTime follows the MVVM pattern:
| Layer | Component | Responsibility |
|---|---|---|
| Model | CityTime |
Data structure for city and timezone |
| View | ContentView, TimeRow, EmptySlot, TimeDialView |
UI rendering |
| ViewModel | TimeViewModel |
Time logic and scrubbing state |
| Service | LocationManager |
Location permission and reverse geocoding |
git clone https://github.com/runorhasit/WorldTime.git
WorldTime.xcodeproj in XcodeRead the full design and development story: WorldTime: From Slider to Dial, Visualising Time the Way We Think About It
MIT License — see LICENSE for details.
Built by Runor Jiroma as a learning project to explore SwiftUI development.