Chess Arena
Play chess locally or online with a lobby, spectator mode, blitz clocks and move history.

Chess Arena is an online chess site I built for fun, to find out how far I could take a real-time, two-player web app.
What it does
- Local play. Two people on the same device, taking turns on a wooden board.
- Online play. A lobby where you create or join a game and play against someone remotely.
- Watch live. Spectator mode for games in progress.
- Clocks. Blitz time controls, such as five minutes with no increment, with a running timer for each player.
- Game state. Captured pieces, material advantage, full move history, a resign button and a new-game flow.
The board uses standard algebraic notation and a clean piece set, and the whole thing runs in the browser with no install.
How it was built
I built Chess Arena with Lovable. I described the features I wanted, then worked through the details: how the lobby should behave, what happens when a player disconnects, how the clocks should run, and how the board should look. Move validation and game rules are handled by a chess library, which was a good lesson in not reinventing a solved problem.
Status
Finished as a learning project. The site is live and playable, but I am not developing it further.
What I got out of it
Real-time multiplayer is where a lot of simple ideas fall apart, and this project showed me why: two clients need to agree on the same state, at the same time, with a clock running. I learned a lot about synchronising state, handling disconnects and structuring a web app that has more than one screen.