macOS app · On the Mac App Store
GhostDeck
A retro music player for the Mac, with a low-poly 3D world behind your album that moves with the music.
GhostDeck brings back the three-window music deck of the late ’90s (player, ten-band equalizer and playlist), drawn one pixel at a time. A fourth window shows your album as a jewel case, turning slowly in a low-poly world that reacts to the track. There are five worlds, from a neon city in the rain to the floor of a deep sea.
I designed and built it on my own, and it went from first commit to the Mac App Store in under three weeks. Underneath is a custom Metal renderer and an AVAudioEngine pipeline with a ten-band EQ and a vDSP spectrum analyzer. It works offline, runs sandboxed and has no tracking.
A lot of the polish went into making it light. An adaptive frame rate, static geometry baked into single meshes and an audio engine that pauses when nothing plays took idle CPU from 14–17% of a core to 4–7%, and roughly halved GPU load.
- Role
- Design, code and release
- Built with
- Swift, AppKit, SwiftUI, Metal, AVAudioEngine, Accelerate