I built a daily football (soccer) trivia grid - would love brutal feedback

I built a daily football (soccer) trivia grid - would love brutal feedback

It’s called The Ball Grid - theballgrid.com

Most football/soccer grid games I’d seen just ask you to name a player’s nationality or which clubs they played for. I wanted something with more of a challenge - constantly rotating stat-based criteria like “scored 10+ Premier League goals” or “kept 15+ clean sheets in a season.” Things that actually make you think.

Fill a 3×3 grid by naming players who satisfy two intersecting criteria. Two modes:

Classic Grid - rarity scored. The rarer the answer you pick, the higher your score. Anyone can name Ronaldo. Name someone unexpected and you’ll score higher.

Rapid Fire - speed scored. Same grid concept but you’re racing the clock.

Built it solo in Flask/SQLite on AWS. It’s live now.
I’m not here to promote it - I want to know what’s broken, confusing, or annoying. First impressions especially welcome. What didn’t make sense? What would make you come back tomorrow?

u/WillBuilds — 10 days ago
▲ 4 r/projects+2 crossposts

I spent 3 months building a daily football trivia game and just got my first real users. Here's what the data actually looks like.

I'm a solo developer and I've been building The Ball Grid in my spare time. It's a free daily Premier League football/soccer trivia game where you fill a 3x3 grid naming players who satisfy two intersecting stat-based criteria. Think Immaculate Grid but stat-based and rotating rather than static club/nationality questions.

A few weeks ago I posted here and in a handful of football subreddits looking for testers and feedback. That was my first real exposure to actual users rather than just me clicking around my own site. Here's the honest picture from what followed.
The headline numbers: 373 monthly active users, 31 DAU today, 461 total sessions over 3 months. Google is my biggest traffic source by a distance. Game completion rate is actually decent at 28% of grids fully completed which surprised me. Average score 300.

The retention though. D1 is 0%. D7 is 1.8%. Nobody is coming back. I have some theories like no email capture, no streak mechanic, no way to nudge people back, but honestly I'm not sure what the priority fix is or whether the product just needs to be stickier first. That's what I'm trying to figure out.
The most interesting thing the Reddit testing surfaced was that the scoring system was silently broken in three separate ways at once while looking completely fine from the outside. The rarity script had never actually run on the production server. The label mapping between frontend and backend was mismatched so validation was failing quietly on every pick. The tier thresholds were wrong so almost everyone got the lowest possible rating regardless of what they picked. It looked like it was working. It wasn't.

I caught it because my own test scores didn't match what the code claimed was happening. Lesson learned: deployed does not mean working. Test with real eyes.

If you've solved retention on a daily game I'd genuinely love to hear what worked. And happy to get roasted on anything else.

theballgrid.com and the stack is Flask, SQLite, AWS EC2 if anyone's curious.

u/WillBuilds — 9 days ago

Harry Maguire has been guessed 70 times on my football trivia game. He's been correct 21 of them.

That's a 30% success rate. People are absolutely convinced Harry Maguire is the answer. He is not always the answer.

I've been building The Ball Grid for a few months and just finished my first round of real testing. It's a free daily Premier League trivia game where you fill a 3x3 grid naming players who satisfy two intersecting stat-based criteria at once. Things like "scored 3+ goals AND received a red card in a single PL season" or "under 23 at season start AND English." Classic mode scores you based on how obscure your answers are so finding a player nobody else thinks of beats just typing Haaland into every cell.
Now I've got real data from real players and it's genuinely fascinating to look at.

Casemiro has been tried 42 times. Correct 4 of them. People really believe in Casemiro.
Valentino Livramento, Elliot Anderson and Lewis Hall have a combined 0% correct rate across 70+ attempts between them. Not one correct guess between three of them.

The hardest category by a distance is 5+ Yellow Cards. Under 23 at season start crossed with 5+ Yellow Cards has produced 318 wrong guesses. People know an answer exists. Nobody can find it.
Bruno Fernandes has been tried 49 times and is correct 90% of the time. Bruno just fits everything apparently.

New grid every day, free, no signup needed. Come try it at theballgrid.com and tell me what you think answers the yellow cards one.

u/WillBuilds — 11 days ago
▲ 0 r/sportsanalytics+1 crossposts

Built a daily football/soccer trivia grid - stat-based criteria, not just "name their clubs"

Most soccer grid games only ask which clubs a player played for or their nationality. I wanted criteria that actually challenge you - rotating daily stats like goals scored, clean sheets, appearances across Premier League seasons. You name players satisfying two intersecting conditions at once.

Two modes: Classic (rarity scored - the more obscure your valid answer, the higher you score) and Rapid Fire (timed).

Free, no signup, new grid every day. Would love to know what you think.

theballgrid.com
u/WillBuilds — 22 days ago
▲ 112 r/avfc

Best £5 I've ever spent - got a suit made in Hoi An, Vietnam and asked them to stitch UTV inside it

u/WillBuilds — 23 days ago
▲ 20 r/SoccerTrivia+4 crossposts

I built a daily football (soccer) trivia grid — would love brutal feedback

It's called The Ball Grid - theballgrid.com

Most football/soccer grid games I'd seen just ask you to name a player's nationality or which clubs they played for. I wanted something with more of a challenge - constantly rotating stat-based criteria like "scored 10+ Premier League goals" or "kept 15+ clean sheets in a season." Things that actually make you think.

Fill a 3×3 grid by naming players who satisfy two intersecting criteria. Two modes:

Classic Grid - rarity scored. The rarer the answer you pick, the higher your score. Anyone can name Ronaldo. Name someone unexpected and you'll score higher.

Rapid Fire - speed scored. Same grid concept but you're racing the clock.

Built it solo in Flask/SQLite on AWS. It's live now.

I'm not here to promote it - I want to know what's broken, confusing, or annoying. First impressions especially welcome. What didn't make sense? What would make you come back tomorrow?

u/WillBuilds — 10 days ago