ASO When Nobody Is Searching for You
App Store Optimization for a mainstream fitness app is well-documented. But what about a niche app like BoxTime, a boxing round timer? The total search volume for "boxing timer" is a fraction of "workout app." Here is what I learned optimizing for a small but specific audience.
Keyword Research on a Budget
I did not pay for an ASO tool. Instead, I used App Store Connect's search ads feature (even without running ads) to gauge keyword popularity, and I manually searched the App Store to see what competitors rank for.
My primary keywords:
- boxing timer
- round timer
- boxing round timer
- fight timer
- MMA timer
- interval timer boxing
The long-tail matters more in a niche. "Interval timer" is competitive -- massive apps dominate it. "Boxing round timer" has less volume but almost zero competition.
Title and Subtitle Strategy
Apple gives you 30 characters for the title and 30 for the subtitle. Every character counts.
Title: BoxTime - Boxing Timer
Subtitle: Round Timer for Training
I front-loaded the brand name, included the primary keyword ("Boxing Timer"), and used the subtitle for a secondary keyword phrase. I avoid keyword stuffing -- Apple penalizes it, and it looks unprofessional.
The Description Nobody Reads (But Apple Does)
The long description does not directly impact search ranking (Apple says keywords are what matter), but it matters for conversion. Users who scroll to the description are on the fence. Bullet points work. Walls of text do not.
I structure it as:
- One-line value proposition
- Three key features as bullets
- Brief paragraph about who it is for
- Call to action
Screenshots That Convert
For a timer app, the screenshots need to show the timer in action, not a features list. My screenshot strategy:
- Timer running -- the hero shot, big countdown, clear round indicator
- Configuration -- show how simple setup is
- Rest phase -- demonstrate the round/rest cycle visually
- Feature callout -- haptics, audio, customization in one frame
I designed these in Figma with device frames. The first screenshot gets 70%+ of the attention, so it must immediately communicate what the app does.
Ratings and Reviews
With a small user base, every rating matters disproportionately. A single 1-star review on an app with 10 ratings tanks your average. I use SKStoreReviewController to prompt for ratings, but timing matters:
func checkForReviewPrompt() {
guard completedWorkouts >= 5 else { return }
guard lastReviewPrompt == nil ||
Date().timeIntervalSince(lastReviewPrompt!) > 60 * 60 * 24 * 30 else {
return
}
if let scene = UIApplication.shared.connectedScenes
.first(where: { $0.activationState == .foregroundActive }) as? UIWindowScene {
SKStoreReviewController.requestReview(in: scene)
lastReviewPrompt = Date()
}
}
I prompt after 5 completed workouts. At that point, the user has gotten value from the app and is likely to leave a positive review. Prompting on first launch is a recipe for low ratings.
Localization as ASO
I localized the App Store listing (not the app itself initially, just the metadata) into Spanish, Portuguese, and Japanese -- three markets with strong boxing cultures. Each localization gives you a new set of keyword slots. My downloads from Brazil doubled after adding Portuguese metadata.
What Moved the Needle
Honestly? The biggest impact came from:
- Choosing keywords with low competition rather than high volume
- The first App Store screenshot
- Rating prompt timing
Everything else was incremental. For a niche app like BoxTime, discoverability comes more from being the best result for a specific query than from ranking for broad terms.
Top comments (0)