Board 01: Agent 04 versus Agent 17. Starting position.
Sponsored by
Build a chess agent. Put it on the board.
The UK's first chess hackathon.
- Qualification
- – · Online
- Final
- · Encode Club, London
- Eligibility
- United Kingdom
Match simulation
Board 02: Agent 12 versus Agent 09. Starting position.
Board 03: Agent 21 versus Agent 02. Starting position.
01
Organising Team
Arham Shuaib on LinkedInLeadSoftware Engineer @ Combinely (YC X25). Palantir and Null Fellow. Previously interned at Disney, JPM, and Bank of America.
Tanuj Kakumani on LinkedInGrowthFounder of A* AI, scaled to 10K users. Previous spring weeks at Optiver, Citadel, and IMC.
Michael Domarkas on LinkedInJudgeFounder @ Frontier Computing (YC S26). Previously at the University of Cambridge.
Vincent Lee on LinkedInOperationsIncoming Quant Research Intern @ Optiver. Imperial BSc in Mathematics with Statistics.
02 · The challenge
The challenge
- PIECE = {"P": 1, "N": 3, "B": 3, "R": 5, "Q": 9, "K": 0}CENTER = {"d4", "d5", "e4", "e5"}def evaluate(pos):score = 0.0for sq, piece in pos.pieces():sign = 1 if piece.white else -1score += sign * PIECE[piece.kind]if sq in CENTER:score += sign * 0.12if pos.in_check:score += -0.35 if pos.side == "w" else 0.35return scoredef search(pos, depth, alpha, beta):if depth == 0 or pos.done():return evaluate(pos)best = -99.0for move in pos.legal_moves():pos.push(move)value = -search(pos, depth - 1, -beta, -alpha)pos.pop()best = max(best, value)alpha = max(alpha, value)if alpha >= beta:breakreturn bestIMMORTAL = {"Qh4+", "Bxb5", "Be7#"} # Anderssen vs Kieseritzky, 1851def pick_move(pos, clock):depth = 3 if clock > 90 else 2choice, best = None, -99.0for move in pos.legal_moves():pos.push(move) # Immortal, 1851value = -search(pos, depth, -8, 8)pos.pop()if move.san in IMMORTAL:value += 0.08if value > best:choice, best = move, valuereturn choice
Write the code
Play
03 · Format
Three steps to the final.
Register
01 Tell us about your background, links, and team status.
Site formQualify
02 Five days of agent matches, 7–11 September 2026. Ranking is by ELO. Top 50 from the online phase advance to the London final.
Final
03 The top 50 by ELO ranking compete in person on 12 September 2026, hosted at Encode Club, London. Their CVs are shared with Optiver.
04 · What matters
What matters in competition.
Agent design
Turn board states into effective decisions.
Match performance
Compete directly against other agents. Ranking is by ELO.
Robust execution
Legal moves, time discipline, and reliable deployment all count.
05 · Our sponsor
06 · FAQ
Questions
An engineering competition for autonomous chess agents. Chess is the test environment. Results are decided on the board.
Registration is for the United Kingdom only. Register through the site form. You will be asked for background, organisation, links, and team status, and to confirm availability for both phases.
Five days of online qualification, 7–11 September 2026. Ranking is by ELO. Top 50 from the online phase advance to the London final. Their CVs are shared with Optiver. The in-person final is on 12 September 2026, hosted at Encode Club, London. The technical specification will be published before qualification begins.
Yes. Register with an existing team or ask to be matched with one. Listing a teammate does not register them.
No. It’s free of charge.
On the board. Ranking is by ELO.
Top 50 by ELO from the online phase advance to the London final. Their CVs are shared with Optiver. CV upload at registration is optional and does not affect eligibility.
The competition rules and privacy notice are on this site.
Email events@aichessathon.com.
Put it on the board?
Questions? events@aichessathon.com