OpenScrabble
Under ConstructionLocal-first two-player Scrabble. TypeScript/Vite. MIT.
1. Complete Official Scrabble Rules
OpenScrabble implements the full official ruleset — a 15×15 board with correct premium square placement and multipliers, 100 tiles with official letter distribution (including 2 blanks), first word anchored on the center square, bingo bonus (+50 points for using all 7 tiles), pass and swap mechanics, and automatic game-over detection when all tiles are used or consecutive passes occur.
2. Built-in ~100K Word Dictionary
The word validator draws from SOWPODS, with official TWL/NASPA validation including all 107 acceptable two-letter words (AA, EW, OK, QI, XU, ZA, and more). Every proposed move is checked for cross-validity — all words formed horizontally and vertically must exist in the dictionary independently. If any word fails, the entire move is rejected. No guesswork, no arguments.
3. Mobile-First, Zero-Framework Architecture
OpenScrabble is built with vanilla TypeScript and Vite — no React, no framework overhead. The CSS is mobile-first with touch-optimized tap targets. The board renders on Canvas for smooth performance. 61 unit tests across 5 test files cover tile distribution, word validation, scoring, and game logic.
4. Two-Player Local Play, No Accounts
No accounts, no AI, no backend, no telemetry. Customize player names via URL parameters (?p1=Alice&p2=Bob). Desktop and mobile each have distinct interaction models — drag-and-drop on desktop, tap-to-select on mobile. Everything runs client-side from a single HTML file.
5. Privacy-First by Design
OpenScrabble tracks nothing. No analytics, no cookies, no server. The entire game runs in your browser from a static file. When you close the tab, the game is gone. Your words stay between you and your opponent.
Part of the Kovina ecosystem
A collection of open-source tools built for ownership, permanence, and everyday use.
Explore All Projects