Magic 8 Ball
Ask a yes-or-no question, shake your phone, get an answer.
- Downloads, iOS and Android
- 800K+
- App Store, 1,391 ratings
- 4.7
Why I built it
This app is where I started thinking like a product manager. As a developer, I wanted to own more than the code: UX, analytics, monetization, promotion. So I built it alone, took it to the stores and kept growing it to 800K+ downloads.
How it works
Think of a question, shake your phone and watch the answer rise out of the dark. Best with the sound on 😉
Screenshots
Features
- iOS and Android, with layouts for iPad and iPhone Duo.
- Apple Watch app: shake your wrist, tap the screen or turn the Digital Crown.
- Atmospheric sound, voiced answers and haptic feedback.
Monetization
- Banner, full-screen and rewarded video ads through Appodeal mediation.
- The watch gives 3 free answers a day. A rewarded video adds more.
- In-app purchase: removes ads and makes answers on the watch unlimited.
Growth and analytics
- Firebase Analytics and Crashlytics.
- My own App Store sales database.
- In-app rating prompt.
- Store listings in five languages: English, German, Spanish, French, Portuguese.
Key decisions
- Ad timing: retention first. Analytics showed that few people asked more than four questions in a row. Show the ad too early and people leave and write bad reviews. Show it too late and few people see it. I A/B tested the second, third and fourth answer, and the third gave the best retention.
- Native quality, with AI cutting the cost of Android. I was an iOS developer, and the answer textures work best with direct access to the graphics, so I went native. Later I rewrote the app in Swift and Kotlin with Claude Code at almost no cost, which kept native quality on both platforms.
- Apple Watch as a growth bet. In my experience, the App Store gives more visibility to apps built for new devices, so the watch app was a way to rank higher. It also added rewarded video and a new reason to make the in-app purchase.
What's next
ASO has always been part of the work, and the App Store keeps adding new tools for it. Next I'm using them to A/B test store listings and turn more search traffic into installs.
Tech
- iOS
- Swift, SpriteKit, iOS 16 and later
- Apple Watch
- Separate app
- Android
- Kotlin, Jetpack Compose, Android 7 and later
- Size
- All animation about 23 MB, sound under 1 MB
- Ads
- Appodeal
- Analytics
- Firebase

