🏝️ Wordisle: Every Word Washes Ashore
Wordisle takes the familiar word wheel — eight letters on a dial — and turns it into a small island you can visit for five minutes a day. Drag to connect letters, fill the target bar, bank one to three stars, and hunt the rare bonus words that pay coins. It installs like an app and, once loaded, plays with no network at all.
What it does
- Eight letters on a wheel. Connect them into words; no tile may be reused inside one word.
- Target and bonus words. Targets fill the progress bar and set the star rung; bonus words are rarer valid finds that pay extra — as does a pangram that uses all eight letters.
- A coin economy with a conscience. Spend coins on hints (the first hint of every level is free), then bank earnings toward the next one.
- A daily challenge and a streak. One date-seeded puzzle a day, enforced once per day, with a best-streak to protect.
- Eleven achievements, definitions on tap, and shareable levels. Every level is deterministic —
/#/play/42is always the same puzzle — so a link is a challenge. - Procedural music and sound, generated in the Web Audio API with no audio files to download.
The boring parts are the product
A word game lives or dies on whether its levels are actually playable, so the level data is treated as a typed product with its own contract tests rather than a pile of JSON. The studio's audits caught real defects and fixed them at the source: two-letter word pollution dropped from 1,128 of 4,765 target words to zero, star rungs that asked for more words than a wheel contained went from 91 levels to none, and every wheel now has at least six distinct letters. Scoring — stars, banking, hint purchasing — lives in a pure module separated from the canvas precisely so it can be tested without rendering a frame.
The rendering layer is PixiJS with selective imports and a strict Content-Security-Policy that forbids unsafe-eval; the app runs Pixi's eval-free path. Progress, coins and streaks live in localStorage, with a migration from the game's earlier name so returning players keep their islands. The only third-party request in the whole app is the optional dictionary lookup for a definition, and it fails quietly when offline.
Tech stack
| Technology | Role |
|---|---|
| TypeScript | Strict, framework-free application code |
| PixiJS | WebGL rendering for the wheel, scene and effects |
| Vite | Dev server and production build |
| vite-plugin-pwa | Installable, offline-first app shell |
| Vitest | Unit and contract tests for scoring and levels |
The result
Wordisle is live at wordisle.t3apps.com as an installable PWA backed by 148 tests. It is proof that a game can be generous with content, honest about difficulty, and still cost nothing to host — a static bundle and a habit.