Vibe ChessVibe ChessApp

The Vibe Chess corporate league: chess as year-round engagement

Alexey Mudry · updated November 1, 2026
A one-off tournament lives for one evening: the next morning all that is left is a table and a dozen photos. A league lives all year round. Inside the company there is a qualification - employees play online, come to in-person evenings, solve puzzles - and once a quarter the platform itself picks a team from them, and company teams play each other. And it is not only strength that counts: the share of employees who played at all weighs almost as much as the team's result.
Corporate chess tournament hall: rows of tables with boards and clocks, games in progressChess tournament in an office space: tables with boards set between the columns
Shots from our corporate tournaments: the hall, boards, clocks and games on schedule.

How the league works

Two levels. The lower one runs all the time and inside one company; the upper one comes together once a quarter and pits companies against each other.

LevelWhat happensWho takes part
Inside the companyGames online and at in-person evenings, mini-games, an internal ratingAnyone who wants to, with no selection and no limit on numbers
Company teamThe platform picks the line-up based on a ten-week windowSix people on six boards plus two reserves
DivisionTeam matches against each other, relegation and promotion at the end of the seasonCompanies that are comparable by results, not by size
In-person finalOnce a year, after the fourth seasonThe best teams of the division and the winner of the Engagement Cup

The lower level is what we already have running: people play when and where they like, come to evenings and solve puzzles. The company league itself - with its own rating, divisions and seasons - can be set up in the app right now; how exactly is in the next section. Corporate formats usually have no such level at all: an employee gets a login from the captain, sits down at a computer at a set time a few times a year, and between those dates the product doesn't exist for them.

You can run a company league in the app right now

The Vibe Chess app has a Leagues section. A league there is a standing group of players: a company, an office, a club, a university. It has its own rating, its own season table with points for places and, if needed, divisions. Any user of the app can create a league; nothing needs to be switched on separately.

What a league hasHow it works
Its own ratingA separate Elo rating list. Only this league's tournaments move it: games an employee plays elsewhere don't touch the league table
DivisionsLabels inside the league: departments, offices, cities, branches. The table can be filtered by division, while the overall rating and season stay the same for the whole league
SeasonsThe period the result is counted over: a quarter, half a year, a year. A closed season is saved as a snapshot of the table and stays in the league's history with its winner
Season pointsFor the place in each league tournament, plus points just for taking part - they keep people in the league between tournaments
MembershipBuilds itself: an employee signs up for a league tournament and becomes a member, with that tournament's division. No lists to keep by hand
PrivacyAn open league is visible to anyone in the Leagues section. A private one only to the organiser and those who play in it: others can't see it even with a direct link

The key thing here is the separate rating. The app has one global rating for everything, and the company table would be shifted by any open tournament an employee played at the weekend in another city. A league doesn't have this problem: its number changes only from games within the league. The reverse still works - a league tournament counts towards the global rating too, because its games are real.

The Leagues section in the Vibe Chess app: league search, an explanation of what a league is, the list of your leagues and the Create a league button
The Leagues section: your leagues and the create button
Season table of a chess league in the Vibe Chess app: place, player, season points, league rating and number of tournaments
Season table: points, league rating, tournaments
Chess league table with the division "Second (beginners)" selected: only players of that division are listed
A division chip leaves only your own people in the table

How to launch a league in the app

  1. Create the league. In the app: the Rating tab, the Leagues button (or Profile → Leagues), then Create a league. You set the name, a description, the starting rating for newcomers (1200 by default, as everywhere in the app), points for taking part and whether the league is open or private.
  2. Decide where newcomers start. There is a switch, Inherit the player's global rating. On - an employee enters the league with the rating they already have, and the first rounds are seeded by strength straight away. Off - everyone starts from the same number, and the gaps build up only through games inside the league.
  3. Add divisions. Departments, offices, cities - as many as you need. A division can be deleted; its people stay in the league without a division.
  4. Create a league tournament. An ordinary Swiss or round-robin tournament, except that the form lets you choose the league and, if needed, a division. Choose a league and the tournament counts towards it. For a friendly there is a separate switch: it stays in the league's history but changes neither the rating nor the season points.
  5. Play. Employees sign up as for any tournament in the app, and the app handles the pairings, games and tournament table by itself. After the finish the league rating and the season table are recalculated automatically, and the same tournament can't be counted twice.
  6. Close the season. The Close the season button saves the table as a snapshot and opens the next one: Season 1, Season 2 and so on. Season points start from zero, the league rating stays - points say how the season went, the rating says how the person plays. While the league has an unfinished tournament, the season won't close.
The New league form in the Vibe Chess app: name, description, starting rating 1200, points for taking part and notes on them
New league: name, starting rating, points for taking part
Chess league settings: the Private league switch and the list of divisions with the Add a division button
Privacy and divisions in the league settings
Swiss tournament form in the Vibe Chess app: a league and a league division are selected, next to the Friendly event switch
The league and division are chosen in the tournament form
The bottom of the chess league settings: the Save and Close the season buttons and an explanation of what happens when a season is closed
Close the season: the table is saved as a snapshot

What an employee sees on the league screen

The league screen in the app has three tabs: Points, Members and Tournaments. Above them is a strip of divisions: All plus a chip for each department or office - tap it and only your own people stay in the table. In the list of leagues, every card shows who runs it and the person's own place if they play in it.

  • Points - season points, league rating and the number of tournaments played by each person.
  • Members - the league line-up with divisions. This is also where the organiser moves a person to another division or removes them from the league.
  • Tournaments - all league tournaments, marked with whether the result has been counted yet and whether the tournament counted towards the league.
  • Past seasons - every closed season with its winner.

A removed employee is not deleted: their games and past results remain, the table simply stops showing them, and they can be brought back into the league with one button. Guests the organiser added without an account don't get into the league - just as they don't get into the global rating.

The list of leagues as a member sees it: their own league shows their place, below are all open leagues with the name of whoever runs them
A member sees their place right in the list of leagues
The Members tab of a chess league: players with avatars, division and league rating
Members: the line-up with divisions and rating
The Tournaments tab of a chess league: a super final and stages by division marked as counted
Tournaments: league stages and the counted mark

How season points are counted

Points in a game and season points are different things. In a game everything is as usual: a win is 1, a draw ½, a loss 0. These add up to a place in the tournament table, and for the place the league awards season points.

Place in the tournament12345678910
Season points2520161311109876

On top of that, everyone who came and finished gets points for taking part - 2 by default, and the organiser sets their own number in the league settings. So the tournament winner takes 27 points, tenth place 8, and eleventh and below 2. That is enough for an employee who comes to every tournament to overtake, by the end of the season, someone who won once and disappeared.

The league rating works on the Elo system: between equal opponents a win gives about 16 points, for a strong player against a clearly weaker one almost nothing.

The platform picks the team, not the captain

The line-up is calculated from a ten-week qualification window. Everything a person played inside the corporate circuit counts: online games, games at in-person evenings, internal tournaments. As soon as the line-up starts being picked by hand, everyone else stops playing - so here transparency matters more than convenience.

BoardWho takes itWhy this way
1-3Top 3 by the internal rating of the windowTeam strength and fair sport
4The best of those who have played fewer than twenty gamesThe debutant's board: the company has to bring on new players
5The best by mini-game pointsA way in for those who don't play chess
6The best by in-person games in the windowDraws people to live meetups

Boards four to six are the key mechanic of the whole league. A company can't win with three strong employees: to fill the remaining three boards decently, it has to involve newcomers, puzzle fans and those who come to the evenings. The line-up is visible to everyone in the company and recalculated live - a person can see they are two wins away from a place in the team.

Strength is not the only thing that counts

A place in the division table is made up of four parts. This is the central decision of the whole design: the team's result decides more than half, but not everything.

What we countWeightHow it is counted
Team strength55%Points for division matches
Reach25%The share of employees who played at least one game in the window
Offline12%How many people came to live meetups
New people8%How many employees played the first game of their life

Reach is counted as a share, not a headcount: otherwise a large company would always win, purely because of its size. The share is taken from the headcount stated in the contract, and understating it to gain points doesn't pay - the fee is calculated from the same headcount.

That is why there are two cups. The League Cup is for strength, by the sum of everything above. The Engagement Cup is only for reach, offline and new people. A sixty-person company won't beat a bank on strength, but it can easily beat it on the share of people taking part.

What HR gets

You can't take a tournament table to whoever signs off the budget and ask for another year. So once a quarter the company gets a report - and it is made up not of places but of the things usually measured with surveys.

Figure in the reportWhere it comes from
How many employees played at least once, and what share of the headcount that isGame history
How many came back in the second month and the thirdThe same, by windows
How many new acquaintances between departmentsThe graph of opponent pairs
How many people made it to in-person meetupsEvents and seating at the boards
Who played the first game of their lifeTitles
How participants' ratings grewRating and table snapshots

The headline figure here is acquaintances between departments: not a feeling from a survey but a fact - how many pairs of people who didn't know each other before played each other.

The report is delivered as figures only and by department, with no surnames and no results of any particular person. Otherwise employees would stop playing the day they found out their manager can see their losses.

Two pricing models

Corporate chess is sold in two ways, and the difference between them determines not the price but how many people in the company will play.

ModelWhat happens in practiceWho ends up playing
Payment per registered playerEvery new participant adds to the bill, so the company registers its strongestA handful of people out of the whole staff
Payment per company per yearThe bill doesn't depend on how many play, so involving people pays offEveryone who wants to

We work on the second one: the company pays for a year, with no limit on the number of participants. The cost depends on headcount and is quoted on request. The basic plan includes a closed circuit with the company's logo, the internal rating and qualification, four league seasons, mini-games, titles, the quarterly report, the regulations and closing documents.

Priced separately are a turnkey in-person evening, a tournament at a conference or company party, branded equipment and an international circuit for companies with offices abroad - the interface exists in eleven languages.

What it looks like for an employee

From a phone and whenever it suits them. A division match isn't squeezed into one morning: a round is spread over a week, each match is played on its own day, and the time is agreed by the two captains within an 18:00-21:00 window in the visiting team's local time. That removes two objections at once - "it's a working day for us" and "our office is seven time zones away".

The time control in a match is 10 minutes plus a 5-second increment per move, two games against each opponent with colours reversed. The twelve games of a match take about an hour.

We don't do video surveillance with roll calls, although it does occur in corporate formats. It scares off exactly the people the whole thing is for. Fair play rests on other things: move-time statistics from the game log, in-person matches in the play-offs and the final, and the fact that people play under their own names among colleagues, not anonymously.

Where we start

The league is signing up its first companies, and the first season is free for them - in exchange for the right to name the company among the participants and to get a testimonial. The goal of the first season is not money but three figures that can then be shown to the next companies: the reach share, the return rate in the second month and the number of new acquaintances between departments.

While there are few teams in a division, it is more honest to call things by their names: the first season is played not as a division with relegation but as a round robin of everyone against everyone, and the full inter-company stage is launched once there are enough teams. The internal level works from day one - it doesn't depend on how many companies have joined.

What we need from the company: the headcount for calculating the fee and the reach, a decision on whether to split people into divisions by department or office (an employee joins the league by themselves when they sign up for the first tournament), and agreement on data processing - inside the circuit a person is visible by name, and only numbers go outside.

If you run a league yourselves

You can put the mechanics together on your own - we have written about them separately and hide nothing: team scoring and boards, a tournament between departments, how many rounds a team needs and how a match between companies works.

How to build a club league season out of stages and count the points: a chess club league.

The difference is not in the rules but in the routine between stages: pairings, scoring, the overall table, messages to players. That is where the enthusiast who carries a league alone burns out. The Leagues section in the app takes this routine over: it handles the pairings and the tournament table by itself, and recalculates the league rating and season points after every finish.

First season free

The league is signing up its first companies: a season is a quarter, the internal circuit starts straight away, and there is no bill for the first season. Tell us how many employees you have and in which cities your offices are - we will come back with the regulations and a quote.

Frequently asked questions about the league

What is the Vibe Chess corporate league?

A year-long format with two levels. Inside the company there is a qualification all year round: employees play online and at in-person evenings, solve puzzles, and the platform keeps an internal rating. Once a quarter a company team is picked by that rating, and the teams play matches against each other. Once a year there is an in-person final.

How much does it cost and what does the price depend on?

The company pays for a year, with no limit on the number of participants: the bill doesn't grow because two hundred people started playing instead of eight. The cost depends on the company's headcount and is quoted on request. The first season is free for the first companies.

Who gets into the company team?

The platform picks it based on a ten-week window; a captain doesn't appoint it. Boards one to three go to the strongest by internal rating, board four to the best of those who have played fewer than twenty games, board five to the best at mini-games, board six to the best at in-person games. So a company can't win with three strong employees.

What does HR get besides a tournament table?

A quarterly report: the share of staff who played at least once, the return rate in the second and third month, the number of new acquaintances between departments, how many people made it to in-person meetups, who played the first game of their life and how ratings grew. Figures and department breakdowns only, with no surnames and no results of any particular person.

Do you need to know how to play chess?

No. Board five of the team goes to the best at mini-games, not at games, and employees who played the first game of their life carry a separate weight in the team score. It pays for a company to have beginners start, not only those who already play.

When are matches played, and do people need time off work for them?

A round is spread over a week, each match on its own day, and the captains agree the time within an 18:00-21:00 window in the visiting team's local time. You can play from a phone. No working time needs to be set aside.

Can we run the company league in the app ourselves?

Yes. The Vibe Chess app has a Leagues section: you create a league, split it into divisions by department or office if you like, and create league tournaments - Swiss or round robin. The app handles the pairings, the tournament table, the league rating and season points by itself, and employees join the league by signing up for their first tournament.

Does the league rating change if an employee plays tournaments elsewhere?

No. The league has its own rating list, and only this league's tournaments move it. The global rating in the app does take league tournaments into account - their games are real.

How do I split employees by department or office?

With divisions. These are labels inside one league: each league tournament can have a division, and an employee who signs up for it goes into that division. The league table can be filtered by division, and a tournament for the whole league, such as a super final, is held without a division.

What happens at the end of a season?

The organiser taps Close the season. The table is saved as a snapshot and stays in the league's history with its winner, season points reset to zero, and the league rating is kept. While the league has an unfinished tournament, the season won't close.

Can a league be made private?

Yes, with the Private league switch. Only the organiser and those who play in it can see it; it isn't shown to anyone else even with a direct link. The league's tournaments themselves still appear in the app's general feed.

The app instead of arbiter software

Pairings are computed by bbpPairings, an open-source engine implementing the Dutch system by FIDE rules: score groups, floats on an odd field, colour alternation. Free to use.

  • Swiss system
    proper rounds with correct pairings, not random matchups
  • Round robin
    a full circle, with the round count derived from the field
  • Free meetup
    a light format with no tournament machinery

More than a bot: the app, FIDE rules and a TRF report

  • The app. Besides the bot there is an app - inside Telegram and simply at playvibechess.com/app: what is on in your city, the player list, a live table, the current round, your profile and game history - everything that is awkward to read as chat messages.
  • Pairings by FIDE rules. Pairings are computed by bbpPairings, an open-source engine implementing the Dutch system: score groups, floats on an odd field, colour alternation, no rematches, and no player gets a bye twice.
  • A TRF report. A finished tournament exports as a single file in the FIDE data exchange format - the one arbiter software and federations accept. Your profile stores the FIDE ID, national federation code, title, sex and date of birth for it.
  • Free. All of the above, with no subscriptions, paid plans or limits on the number of tournaments and players.

Full overview

Missing a feature? Message the developers

The bot is constantly improved based on real tournaments. If you need a feature that isn't there yet, message the developers right inside the bot with the /support command. Many features appeared exactly because organizers asked for them, and useful ideas get added quickly.

What to read next

How to run a single company tournament yourselves, with screenshots - a corporate tournament in the app. Related - matches between companies, turnkey corporate tournaments, chess for HR, chess team building, chess at a company sports day. Tie-breaks - the Buchholz score.

Alexey Mudry
Alexey Mudry · hosted 43 events for Vibe Chess · 184 reviews · rating 5.0

At the board since childhood: hazy about his rating, precise about every rook he has blundered. Counts an evening as a good one if the opponent stayed to talk afterwards instead of rushing off to check with an engine. Message →