We operate AceRank, a free unofficial app for ATP men’s tennis. AceRank is not affiliated with the ATP, USTA, US Open, or any tournament and is not a betting product.
What is live today: fill a tournament bracket, build a salary-cap fantasy roster, combine both through hybrid scoring, and compete with friends in private groups. Web and Android.
The product choice that still feels non-obvious is shipping both modes in one place. A bracket wants a locked draw. A salary-cap roster wants live match scoring and captain multipliers. Combining them means one delayed official result can move two leaderboards at once.
If you have shipped a sports pool, bracket, or fantasy product: did you keep those modes separate, or did you also combine them? What broke first?
https://acerank.app/?utm_source=indiehackers&utm_medium=community&utm_campaign=usopen2026
AceRank Team
'One delayed official result can move two leaderboards at once' — felt that in my bones. I run a real-money skill-games platform, and today I found a bug where cancelling the same slot twice in one round crashed the whole action because of how I'd set up the uniqueness rules — something that worked fine 99% of the time until the exact right sequence happened. Combining two scoring systems into one live product multiplies the edge cases way more than it feels like it should on paper. Respect for shipping both modes together instead of picking the easier single-mode route
Recomputable-from-scratch is the right call — anything stateful/incremental around scoring is a ticking bomb the moment an upstream correction happens. Good reminder that "boring and correct" beats "clever and incremental" for anything that touches payouts. Appreciate you sharing the fix, not just the bug
Combining the two modes is an interesting bet because they create very different user behaviors.
I’d be curious whether players actually experience AceRank as one game, or as two games competing for attention.
Good question, and honestly it's been both. Bracket people fill it once and check back after each round. Fantasy people fiddle with the salary cap daily. What we've seen so far is that they don't blend on their own - hybrid scoring is what makes it feel like one game, because your bracket picks and your roster feed the same leaderboard. Without that it really does read as two apps stapled together. Still early though, so if you try it and it feels like two games competing, tell us - that's the exact thing we're watching.
That should be an interesting test once both sides are active. I’d be curious to see whether the shared leaderboard keeps the experience feeling unified in practice.
Agreed - the honest test is week one, when results start moving both sides at once. If the unified feeling breaks anywhere, it'll be there. Happy to report back what we see.
Thanks! I’ve just sent it over.
Looking forward to hearing your thoughts whenever you have a chance.