live

Words Are Snake

Word-Steered Snake Game

A word game with a twist: the letters in your typed word steer the snake — U goes up, D goes down, L goes left, R goes right. Eat fruit to score, avoid walls and your own tail. A daily shared board lets everyone compare scores on a leaderboard. In duel mode you race an AI opponent that plays optimal words.

Start screen
Start screen
In game
In game
Typing to steer the snake
Word entry
Leaderboard
Leaderboard
Word-steered snake movement (U/D/L/R letters)
Daily challenge with shared seed (same board for everyone)
Leaderboard with daily rankings
AI duel mode
English and Norwegian word validation
Responsive canvas, works on mobile
React 18 Framework
Game state in useReducer; canvas for the grid
TypeScript Language
Strict types for game state transitions
Vite Build tool
Fast builds; custom plugin for dictionary bundling
i18next Localisation
EN and NO dictionary support; UI strings translated

A React app with game logic in a useReducer. The snake grid is rendered to an HTML5 canvas for performance. The daily seed is derived from the date — same for all players, no server required. Word validation runs client-side against bundled dictionary files (split by language). The leaderboard is stored in Supabase.

The core mechanic — mapping word letters to directional movement — was the fun part, and it was designed by hand. The AI had no useful intuition for game feel; every suggestion made the rules more complex rather than more fun.

Word validation was an interesting challenge. The AI generated a working trie-based lookup in minutes, but the dictionary bundling (splitting by language, handling special Norwegian characters) required careful human attention.

The AI was most useful for the leaderboard UI — table sorting, date formatting, mobile layout — and for the i18n wiring. Entirely unremarkable work that would have been tedious to write from scratch.

All projects
EXP-001 →
Mr. Timely