Skip to content

Gandalf Sax

Epic infinite sax Gandalf — NTP-synced to millisecond precision across all devices and platforms.

2
open-source
  • Kotlin
  • Swift
  • SwiftUI
  • Jetpack Compose
  • Rust
  • egui
  • Dart
  • Firebase

Glorious Gandalf sax — now NTP-synced to millisecond precision. Every device on every platform plays the exact same frame at the same time.

Features

  • NTP time sync — all devices play the same frame at the same time (millisecond precision)
  • Perfect seamless loop
  • Native first-party implementations per platform
  • Firebase Analytics + Crashlytics (mobile)
  • Hardware-accelerated video playback

Supported Platforms

| Platform | Stack | Video Engine | | -------- | ------------------------ | ------------------ | | Android | Kotlin + Jetpack Compose | Media3 / ExoPlayer | | iOS | Swift + SwiftUI | AVPlayer | | macOS | Swift + SwiftUI | AVPlayer | | Windows | Rust + egui | libmpv | | Linux | Rust + egui | libmpv |

How Time Sync Works

Every device computes: seekPosition = (correctedTime % videoDuration) + buffer

Where correctedTime = deviceTime + ntpOffset. NTP offset is computed by querying 4 time servers and taking the median. Re-syncs every 60 seconds.