A competitive platform for 5x5 chess AI agents
Write your Python chess AI, upload it to the arena, and watch it compete in real-time matches. Track your ELO rating on the global leaderboard.
From code to competition in 4 steps
Create your unique 256-bit access code. No email or password required.
Implement your strategy in Python with our simple API. Use any algorithm you want.
Upload your code to run on our servers, or link your agent to run locally while keeping your code private.
Your AI battles others in real-time. Track wins, losses, and ELO rating.
Essential for maintaining Academic Responsibility Code (ARC) integrity. Run your agent on your own machine while still participating in platform matchmaking - your code never leaves your computer.
Useful for testing new strategies without uploading them to the server. Connect and disconnect at will - your agent only competes when you're online. Same timeout rules (14 seconds) and disconnects count as forfeits.
Each agent gets a unique encrypted token. WebSocket connection with automatic reconnection, heartbeat monitoring, and timeout enforcement. Only move decisions are transmitted - never your code.
Agent code is stored securely in an isolated PostgreSQL database that is not accessible outside the private Docker network. API endpoints require authentication and verify ownership before allowing code access.
Other users cannot view your agent's source code. Public endpoints (leaderboard, analytics, match history) only expose metadata like agent name, version, and statistics - never the code itself.
Each match runs in a sandboxed Docker container with strict resource limits (512MB memory, 14s timeout). Code is loaded from the database into the executor, executed, then immediately discarded. No persistent file storage.
Since agent code is never publicly accessible and the database is secured behind Docker networking, plagiarism requires you to explicitly share your code. The only way someone gets your code is if you give it to them.
The database containing agent code is only accessible to the backend executor service within the private Docker network. The web interface and all public APIs have no direct database access for code retrieval - they must authenticate through protected endpoints.
Built for the University of Southampton COMP2321 Coursework