Vibe ChessVibe ChessApp

School chess tournament in the Vibe Chess app

Alexey Mudry · updated September 29, 2026
A school chess championship in the Vibe Chess app can be run by one teacher - the PE teacher, the head of the chess club or a form tutor. Older pupils with their own phones sign up with a QR code and report their own results, the teacher adds younger ones as guests, and each year group plays in its own group inside one tournament. Pairings, standings, rounds and the screen in the school hall are all handled by the app. Below is a championship for Years 7-13 with a screenshot of every step. How to write the rules and fit it into the school timetable is covered in the guide how to run a chess tournament at school.

Why the app suits a school

A school always has a mixed line-up: older pupils have phones with Telegram, younger ones either do not or are not allowed to use them in lessons. The app works with both at once - the older pupils do their part themselves, and the teacher looks after the younger ones.

Older pupils with phones do it themselves

Sixth-formers sign up with a QR code and report their own results. The teacher does not have to walk round the tables.

Younger pupils without phones join as guests

The teacher adds Year 7 pupils by name, with their form: "Sam Carter 7B". Their results are entered by the teacher, in one tap.

Year groups do not play each other

Groups inside the tournament: Years 7-8, 9-10 and 11-13. Each group has its own pairings, its own standings and its own prize winners.

One tournament for the whole school

All groups play at the same time: one button, one screen, one results sheet - not three separate tournaments.

A private tournament

It is not in the city feed: the only way in is the link the teacher gives to their pupils.

No faces on the screen

The "No photos on the screen" switch leaves only names on the hall projector - which matters at a school event.

FIDE pairing rules

Swiss pairings come from the bbpPairings engine, round robins from Berger tables. Colours and rematches are taken care of automatically.

Results for certificates

An A4 results sheet in PDF with places for every year group - for the noticeboard, certificates and the report to the head.

A school league for the year

A school chess club league with divisions for juniors and seniors and a season table that runs until the summer.

Free, nothing to install

Everything runs through the Telegram bot @vibechessbot, and on the classroom computer through the web version.

Step 1. Create a private tournament and invite the older pupils

Open the Vibe Chess bot and its app button, or the web version on the classroom computer. Games - "Create your own game" - "Swiss-system tournament". Venue - the school and the hall or classroom, a date after lessons, 10+5 rapid and five rounds: a game takes 15-25 minutes, and the whole tournament fits into two and a half hours. The number of tables is the number of boards with clocks the school has.

Switch on "Private tournament": it will not be in the city feed, and the only way in is your link. A QR code appears on the tournament card straight away - put it on the classroom screen or send the link to the year group chat, and the older pupils will sign up on their own.

Tournament card School Chess Championship, Years 7-13: 10+5 rapid, private tournament, Invite a friend with a QR code
A QR code for the older pupils right on the tournament card.

Step 2. Add the younger pupils as guests

On the player list screen the teacher adds pupils without a phone by typing a guest name - best with the form: "Sam Carter 7B". A guest plays like everyone else and appears in the pairings, the standings and the results; only their result is entered by the teacher. Pupils who have played for you before do not need typing again: they stay in the organiser's guest list.

If the teacher is not playing, they switch themselves off next to their own name: they stay the organiser but are left out of the pairings.

Step 3. Split by year group

A Year 7 pupil against a sixth-former is no fun for either of them. Tap "Split into groups", then "Add group" - you get groups A, B and C. Tap the letter next to a pupil and choose their group: A for Years 11-13, B for Years 9-10, C for Years 7-8. Pairings are made only inside a group, each group has its own standings and prize winners, and the rounds run in all groups at the same time.

Player list: groups A, B and C, the teacher switched off as organiser, eight older pupils in group A
Three groups; the teacher is switched off and does not play.
Group C: eight Year 7 and Year 8 pupils added as guests with their form in the name
Group C - Years 7-8, all added as guests.

A group needs at least two players. Groups can be changed until the start; after it, only a latecomer can be moved, and only before their first game. For a group of eight, five rounds is just right: if you ask for more, the app warns before the start that a Swiss tournament may run out of pairings early.

Step 4. The screen in the school hall - without photos

On the tournament card tap "Show the tournament on a screen" and switch on "No photos on the screen": only names stay on the projector, without the circles with faces. At a school event with minors it is worth doing every time. Open the link on the computer connected to the projector or TV - the page updates by itself.

Show the tournament on a screen window: the No photos on the screen switch is on
No photos on the screen - always, for school tournaments.
Hall screen: round four pairings in groups A, B and C, names only without photos, ratings for the older pupils
What the hall sees: three groups, tables numbered straight through, no faces.

Step 5. Rounds: older pupils report themselves, the teacher does it for younger ones

After "Start the tournament" each older pupil sees their game on their phone: table, colour, opponent and a timer button. When the game ends, one of them taps "I won", "Draw", "I lost" or "No-show". The opponent sees the entry and has 15 seconds to tap "I disagree, dispute it"; otherwise the result is accepted automatically.

Round one on the teacher's screen: group A pairings on tables 1-4, group B after them
Round one: each group has its own pairings, tables numbered straight through.
An older pupil's Your game screen: table 1, Turner Jack with black against Grant Oliver, result buttons
A pupil's screen: table, colour, timer and result buttons.
The opponent's screen: Grant Oliver reported a result, with I disagree, dispute it and Confirm
The opponent sees the entry and can object.

For the younger pupils the teacher enters the result: taps the table in the pairings list and picks the outcome. The teacher's word is final, with no dispute window. When the last result of a round is in across all groups, the next round starts by itself. Need a break? "Pause the tournament".

Result window for table 9 in group C: Sam Carter 7B wins, Ryan Cole 8A wins, draw, forfeits
The teacher enters the result for younger pupils in one tap.
Round four on the teacher's screen: group A results are in, group B is still playing
Round four: the teacher sees which tables have finished.
Standings after round three: group A, points, Buchholz, Berger
Standings during the tournament - for every group.

Step 6. Results and certificates

After the last round the tournament finishes on its own. In "Final standings" places are worked out separately in each group, and ties on points are broken by the Buchholz score and Berger. So every year group has its own winner and prize winners - enough certificates for all three.

Finished school championship card with Final standings, Export TRF report, Standings as a PDF sheet
The tournament is over: all results are on the card.
Final standings, group A: Collins Harry 4 points, Palmer George 3.5
Results for the older pupils - group A.
Final standings, group C: Josh Hale 8C and Nina Gray 8C 4 points each, Ella Brooks 7A 3
Results for the younger pupils - group C, with their own prize winners.

"Standings as a PDF sheet" sends an A4 sheet to the chat: places for every group, points, tie-breaks, and after that the pairings of every round. Certificates are signed from it, it goes on the noticeboard and into the report for the school leadership. The final standings are on the projector too - for the prize-giving.

PDF results sheet School Chess Championship, Years 7-13: groups with places and points
The results sheet for certificates and the noticeboard.
Final standings on the projector for all three groups, names only without photos
Results on the screen - for the prize-giving.

A school league for the academic year

One tournament is a celebration, but a chess club lives all year. Set up a league: Profile - Leagues - Create a league. A league has its own rating - only league tournaments move it - a season table with points for places, and points just for taking part, so coming to stages pays off for everyone. Juniors and seniors are split by divisions, and each division has its own table.

League form: divisions Seniors, Years 10-13 and Juniors, Years 7-9
Divisions for seniors and juniors.
School league season table, seniors division: Grant Oliver 27 points, Collins Harry 22
The seniors' season table.
School league season table, juniors division: Russell Mia 12 points
The juniors have a table of their own.

A league tournament is created like any other, you just pick your league in the "League" field. One limitation: a tournament with groups cannot be attached to a league - so in the league juniors and seniors are split by divisions, not groups. And the league is for pupils with their own account: guests play unrated. The season table lives on the Rating tab under "By league". Company leagues work the same way - see corporate chess tournament in the app.

Tips from practice

  • 10+5 rapid after lessons. Five rounds take about two and a half hours with breaks. How many rounds suit your line-up - how many rounds in a Swiss system.
  • The form in a guest's name."Sam Carter 7B" - you will not mix up namesakes, and you can see at once which group they go in.
  • A small year group - a round robin. If a year group has five or six players, a separate round robin suits it better: everyone plays everyone. How it works - Berger tables.
  • No photos on the screen by default. At a school event it is best to keep it on every time.
  • Brief the parents in advance. What they can and cannot do in the playing hall - a note for parents.

What the app does not do

  • Team scoring for forms. The app keeps individual standings. Groups are separate tournaments by year group, not form teams.
  • Groups in a league. A tournament with groups cannot be attached to a league - in a league, split by divisions.
  • Ratings for guests. Younger pupils added as guests play unrated.
  • Work offline. The teacher and the older pupils need mobile internet.

Run your school's championship

Open @vibechessbot in Telegram or the app in your browser, create a private tournament and show the QR code to the older pupils. Questions about the app - message us on Telegram.

Common questions about a school tournament in the app

Can we run a tournament if the younger pupils have no phones?

Yes. The teacher adds younger pupils as guests by name and enters their results - one tap on the table. Older pupils with phones still sign up and report their results themselves.

How do I stop Year 7 pupils being paired with sixth-formers?

Split the tournament into groups by year: for example, A for Years 11-13, B for Years 9-10, C for Years 7-8. Pairings are made only inside a group, and each group has its own standings and prize winners.

Will outsiders see the tournament?

No, if you switch on Private tournament: it is not in the city feed, and the only way in is the teacher's link.

Can we keep pupils' faces off the projector?

Yes: in the Show the tournament on a screen window switch on No photos on the screen. Only names stay on the projector.

How much does the app cost a school?

Nothing. Tournaments, pairings, the screen, the PDF results sheet and the league are free. The app runs in Telegram through the @vibechessbot bot, and on a computer at playvibechess.com/app.

Who enters the results?

Older pupils with their own account report the result themselves, and the opponent can dispute it within 15 seconds. The teacher enters results for guests, and the teacher's word is final.

How do I run a school chess club all year?

Set up a league: Profile - Leagues - Create a league. A league has its own rating, divisions for juniors and seniors and a season table until the summer. League tournaments are created like any others, with your league selected and without groups.

Create your own tournament for free

The Vibe Chess app opens from a link and needs no installation. Setting up a tournament takes a minute: pick the system, set the date, the venue and the time control - the app handles the rest.

Swiss system

for a large field: opponents are matched by score, you choose the number of rounds

Round robin

for a small circle: everyone plays everyone, the round count follows from the field

Free meetup

no rounds, no pairings: players sign up and pick opponents at the table

How the tournament runs
  1. 1Create the event and share the link - sign-up opens right away
  2. 2Press start and the app announces the first pairing
  3. 3Enter results, the table with points and Buchholz updates itself
  4. 4At the end - final standings and a TRF report in the FIDE data exchange format

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

With no app involved - a tournament at school, a classroom tournament, tournaments in a chess club, a summer camp tournament. The same app for other audiences - student, corporate and beginners' tournaments. Chess for a whole camp session - summer camp tournament in the app.

Alexey Mudry
Alexey Mudry · hosted 15 Vibe Chess events

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 →