aTempo
A one-handed iOS rhythm game. Tap along to a beat, keep the tempo when the audio drops out, see how you did.
aTempo is a small iPhone game about internal tempo. A run has three acts. You listen to a beat and tap along. Then the audio drops out and you keep tapping from your own clock. Then a scoreboard judges every tap: early, perfect, or late, and whether you were locked, rushed, or shaky.
How it's built
- Every run is deterministic. A run is a seeded map of beats, so the same seed gives the same run on any phone. That makes runs reproducible and replayable, and it's the seam for a future replay-vs-replay 1v1.
- Timing is counted in audio samples. A tap is placed on the audio engine's sample clock at 48 kHz and compared to the beat grid there, not on the UI's frame clock, so a dropped frame doesn't become a late tap. That math has its own tests, because the number is the product.
- No backend, no accounts. All state is on the phone. The referral feature gifts a friend two weeks ad-free with a code they paste in, and it needs no server to do it.
- Swift 6 with strict concurrency, SwiftUI, and an Xcode project generated from a
project.ymlso the project file never has to be hand-merged.
Debug builds take an environment variable that jumps straight to any screen, which is how the screenshots above were taken.
Status
It hasn't made it onto the App Store yet. The first submission was turned down over the in-app purchase, and that's the next thing to fix.