Full-Stack2025

ChessText

A full-stack multiplayer chess platform where the board is hidden by default — forcing players to visualize positions, recall pieces, and think in notation. Real-time game state sync, server-side move validation, and a controlled peek system that makes every glance count.

ReactTypeScriptSupabaseWebSocketsTailwind CSS
ChessText screenshot 1

ChessText is a competitive twist on chess — the board is hidden by default. Players must recall positions, visualize attacks, and plan strategies without seeing the board. This is chess for serious thinkers, learners, and memory athletes.

Memory-based gameplay

The core mechanic is simple but punishing: you can't see the board. Every move requires you to hold the entire position in your head — where your pieces are, where your opponent's pieces are, what squares are controlled, what threats exist. It's blindfold chess, but with a safety net.

The controlled peek system

Players get 5 total peeks per game. Each peek reveals the board for 10 seconds before it hides again. But here's the catch — cooldowns escalate. Your first peek costs 60 seconds of cooldown. The second costs 90. By your fifth peek, you're waiting two full minutes before you can look again.

There's also a mutual lockout: when one player peeks, the opponent is locked out from peeking until the first player's visibility window ends. This prevents both players from just peeking simultaneously and playing normal chess.

Real-time multiplayer

Every move syncs instantly between players via Supabase Realtime channels. When your opponent peeks, you get a live notification. When a move is played, both boards update simultaneously. The game state lives in Supabase — both players always see the same truth.

Server-side validation

Move validation happens on the server via Supabase Edge Functions, not in the browser. The server reconstructs the full FEN (board state) from the move history and validates each new move using chess.js. This means even if someone modifies their client, they can't play illegal moves.

Endgame detection

Checkmate and draw detection runs server-side after every move. When the game ends, both players see a winner banner and the board freezes — no more moves, no more peeks. The final position is revealed to both players.

The goal was never to build another chess app. It was to build something that actually makes you a better chess player by forcing you to think without looking.

Designed & built withby Dhevenddra

Built with Next.js, Tailwind CSS & Framer Motion