DEV Community

Marina Kim(Eunji)
Marina Kim(Eunji)

Posted on

Why “just list all sports events” is much harder than it sounds

Sports don’t have a discovery problem. They have a structure problem.

After publishing my last post about building a small “checking tool” for sports events,
a few people reached out with the same question:

“Why hasn’t someone already solved this?”

At first glance, it does sound simple.

Sports events are public.
Schedules exist.
Teams publish fixtures.
Leagues have websites.
Ticket platforms list events.

So why is it still hard to answer a basic question like:

“Is there any sport happening near me tonight?”

The short answer is:
because sports data is structurally messy.


Sports aren’t one system. They’re thousands of exceptions.

When people talk about “sports events”, they often imagine football leagues with clean fixtures.

But once you go beyond that narrow view, everything breaks.

  • Some sports are league-based.
  • Some are tournament-based.
  • Some are sessions (horse racing meetings, tennis days).
  • Some last 90 minutes.
  • Some last 6 hours.
  • Some last two weeks.

Even within one sport, formats vary wildly.

A football match has:

  • a kickoff time
  • a predictable duration
  • two teams

A tennis tournament has:

  • no fixed match times
  • daily sessions
  • matches that depend on previous results

A horse racing event:

  • is technically one “meeting”
  • but contains many separate races
  • with different relevance for spectators

Trying to put all of this into a single, clean list is not trivial.
It’s not a UI problem.
It’s not an AI problem.

It’s a data modeling problem.


“Just aggregate everything” doesn’t scale

Another common suggestion is:
“Why not just scrape everything?”

This ignores three realities:

  1. Data is fragmented by responsibility
    Teams, leagues, venues, and organizers all publish different parts of the truth.

  2. Officialness matters
    Not all sources are equally reliable, and updates don’t propagate consistently.

  3. The cost of edge cases explodes
    Every new sport, country, or tournament introduces new rules, formats, and exceptions.

At small scale, manual curation works.
At large scale, blind automation breaks.

This is why big tech companies don’t fully solve this problem either.
Not because they can’t — but because it doesn’t fit their economics.


The real question isn’t “what sport do you like?”

Most existing sports products assume one thing:
that users already know what they want.

They ask:

  • Which team do you follow?
  • Which league do you care about?
  • Which sport are you into?

But many real-life decisions don’t start that way.

They start with:

  • “I have a free evening.”
  • “I’m bored.”
  • “I might go out.”

Only after that does sport become an option.

That’s why I stopped thinking in terms of teams and leagues,
and started thinking in terms of location and time.

Not as a fan.
Not as an analyst.
But as someone deciding what to do next.


I don’t think this is a product problem (yet)

I’m not convinced this is “a startup” in the traditional sense.
I don’t even know how people should pay for something like this.

What I am convinced of is this:

Sports event discovery fails not because of missing information,
but because the information is structured for organizers — not for human decisions.

Right now, I’m less interested in growth or monetization,
and more interested in understanding whether this gap is real.

Do people actually want to check sports this way?
Do they open something, get an answer, and leave?
Does location-first, time-first information change behaviour at all?

I don’t know yet.

But I do know this problem is deeper than it looks —
and that’s what makes it worth exploring.


(If you’ve ever felt this friction yourself, I’d genuinely love to hear how you deal with it.)

Top comments (0)