A fast, modern way to play Ultimate Tic-Tac-Toe online โ free and open source.
Rust powers the backend โก, and Vite + HeroUI power the frontend ๐จ
Play now: https://UltimateXO.com
Itโs Tic-Tac-Toe played on a 3ร3 grid of 3ร3 boards (81 squares). Each move sends your opponent to a specific sub-board, creating a mix of local tactics and big-picture strategy.
- Clean, responsive web UI
- Fast Rust engine
- Real-time moves
- Works great on desktop & mobile
- Automated CI/CD
- Fully open source
- Frontend: Vite, React, TypeScript, HeroUI, pnpm
- Backend: Rust, axum, Tokio
- Infra: Docker, Caddy, Cloudflare, GitHub Actions
Requirements: Node 20+, pnpm 8+, Rust 1.75+, Docker (optional)
git clone https://github.com/open-syntax/ultimatexo.git
cd ultimatexoInstall:
just setup
# or:
cd client && pnpm install
cd ../server && cargo buildRun:
just dev
# Client: http://localhost:5173
# Server: http://localhost:6767just docker-build
just docker-up- The board is a 3ร3 grid of smaller boards
- X starts anywhere
- Your move decides where the opponent must play next
- Win small boards with three-in-a-row
- Win the game by taking three small boards in a row
- If a sub-board is finished, you can play anywhere
Contributions welcome!
Focus areas: testing, UI, WebSocket reliability, documentation, accessibility.
See CONTRIBUTING.md
See SECURITY.md
Issues โข Discussions โข Discord โข UltimateXO.com
If you find this useful, Please consider supporting us on Ko-Fi, or just star the repo :)
Ready to play? ๐ฏ