I have a fairly large collection of martial arts events that I'm listing on a page.

Each event happened on a given date and in a given location (country, state, city).

Each event has one or more tournaments, which has a division, the number of fights and the number of unique fighters.

When I had much fewer events I simply listed the events in chronological order with a heading for each year, a smaller heading for the event country, date and name, and the event's tournaments as a list below that heading.

Now that I am dealing with hundreds of events this has become a pretty bad way of displaying the results, so I'm wondering about what would be a better way to display all this data.

The naive implementation would be to use a large table for everything. The benefits of that would be that it's open to sorting, filtering, etc. but it would also mean a lot of redundant data (event name and year repeated over and over) or empty cells.

I've tried googling for existing examples, but I've been unable to find anything that matches what I'm looking for.

Here's an example of the current layout, which really struggles when there are hundreds of events:

Current layout

And here's an example of the naive implementation where everything's in the same table. This has a lot of repeated information since each tournament now gets a separate line:

enter image description here

  • Can you clarify a bit? Is the image you posted what you want it to look like,? What are the problems with it? Furthermore: what are your user actions? E.g. "search for / filter by date, by name", Find "Upcoming Events", "Events around the 5th of may"?
    – peterchen
    Commented Oct 8, 2019 at 14:05
  • The image is of what I have now, which doesn't work now that there are hundreds of events. Sorry about the confusion. Commented Oct 8, 2019 at 14:14
  • All the events are in the past, so the user actions are limited to searching by name, country or date to see if an event happened and what info I have stored about it. Commented Oct 8, 2019 at 14:16

1 Answer 1


You must do it by yourself and show alternatives that you tried.

I did a fast wireframe for you to think about.

On my example, I just reorganize grouping by year, month and ordinate by days. I mixed countries because it's easier to find by date and if you need to see by the country you just make a filter on the results.

enter image description here


Please observe that this is not a design is just a wireframe and you should work on it to looks nice.

If I understood you are looking for something like this.

enter image description here enter image description here

  • The overall grouping and filter looks great, but it doesn't address the main issue, which is how to structure the two "levels" of information, I.E. the one-to-many relationship of events and tournaments. In my example screenshot you can see that the event "WEIRD Open 2019" event had 5 distinct tournaments as part of the events, and displaying that in a useful way is what I'm having an issue wrapping my head around. Commented Oct 8, 2019 at 14:20
  • I suggest you edit your question and show at least one extra alternative that you've tried and then I can redo my suggestion. Commented Oct 8, 2019 at 14:29
  • Done. I added an example of how it looks if you just stuff all the info into a single table, with the redundancies that entails. Commented Oct 8, 2019 at 15:11
  • I think that my 2 new suggestions could help you. Commented Oct 8, 2019 at 15:13
  • Thanks! Just to be sure I'm understanding you correctly: In your last example, you're thinking that you don't show any tournament info until you click to expand, right? Commented Oct 8, 2019 at 15:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.