Introducing Kyoso, an osu! tournament manager
Published: 2023-06-25 19:31:04

[osu!](https://osu.ppy.sh/home) is a popular free-to-play rhythm game where you click circles to the beat of any song you choose to play. It's very straight forward to learn but mastering it is a completely different story, a story which has lead to the development of a large competitive scene. A common way to have players face against each other is through tournaments.

For years now, tournaments have been managed using Google Sheets, with many members of the community developing templates for specific uses like managing players and teams, pool beatmaps, calculate statistics for a round and many more uses. This has proved to be an effective way to handle the many tasks a tournament requires for it to be enjoyed by its participants, but it's far from perfect.

**A few issues that spreadsheets face include:**

- They don't have a solution to authenticate players, leading to incorrect or dated information being inputted in forms.
- They have performance issues, whether it be many scripts being loaded or a large amount of data being inputted into cells.
- Templates either lock you in to a set of spreadsheets, making it hard to use custom templates; or have a set of templates that can work with others but are a pain to link.
- They can hit Google's limit for invocations made to Apps Script functions when handling lots of data.

## What's the issue?

You might saying that all of the above have a solution or don't even apply to some tournaments, and you'd be right actually, but having to implement these solutions requires more time and effort, not to mention that they can still be prone to errors. This is something that a small or even medium sized tournament is willing to go through without much issue, but for tournaments with a large staff team and a much greater registration count, these issues get harder and harder to deal with, not to mention that it leads to the tournament looking less professional, a concern that's becoming more prevalent as the tournament scene grows and becomes more mainstream.

## What's our solution?

The name for our solution is Kyoso, a web application that aims to do what spreadsheets already do in a more elegant manner and also aiding in the previously mentioned pain points.

### How it works

Kyoso has a set of "services" that help in different aspects, currently, the following services are planned to be implemented at some point:

- **Registrations:** Handles everything related to teams, players, free agents and staff registrations.
- **Mappooling:** Create mappools, suggest beatmaps and provide feedback for them.
- **Referee:** Manage lobby and match schedules and provide referee functionality.
- **Statistics:** Automatically calculate leaderboards and scores for a round's lobbies and matches.
- **Pickems:** Host a tournament's pickems, this includes users signing up for pickems, handling picks submission and tracking total scores with a leaderboard.

The above descriptions are just the superficial details, as we will implement features that would be impossible or too difficult with spreadsheets, such as a player invite system for teams, a mappools search engine to view how underused or overused a beatmap is and much more.

The project is considerably complex, and therefore will take a lot of time to develop. If you'd like to contribute to this project, you could do so by joining our developer team or by providing feedback on the project. If you're interested in helping, contact `mario564` on Discord.

We hope to make Kyoso as best as it can be so it can help shape the future of tournaments for this circle clicking game. We hope to see you using our platform for your osu! tournaments later down the road.