Overview
Puzzle Gallery brings nine distinct browser games into one shared application: 2048, Kakuro, Lights Out, Match 3, Minesweeper, Nonogram, the 15 Puzzle, Sudoku and Wordle.
Each game retains its own rules and state, while the surrounding product provides consistent discovery, launching, persistence and navigation.
The core concept
A collection of small games can easily become a directory of unrelated pages, each with duplicated controls and inconsistent behavior.
Puzzle Gallery instead treats the collection as a platform. The games are independent modules, but they participate in one shared shell that manages the product-level experience around them.
How the system works
Each game module supplies its own identity, rules and launch behavior. The shared shell handles the overlay in which games run and coordinates communication between the gallery and the active game.
Hash-based routing makes each game directly addressable while still allowing it to open inside the common application. Explicit module imports keep the collection predictable even outside a bundler-specific loading system.
This structure allows new puzzles to be added without rebuilding navigation, favorites, persistence and the surrounding interface for every game.
Interaction and product design
Users can search the collection, filter to favorites, rate games and return to recently opened items.
Favorites, recent history, ratings and per-game information are stored locally so that the collection retains continuity across visits without requiring an account.
The shared gallery makes the games easier to browse while allowing each puzzle to preserve its own mechanics and visual state.
Engineering decisions
Gallery updates are scheduled through requestAnimationFrame so repeated state changes can be combined into one render rather than triggering unnecessary work.
Card movement uses measured positions and coordinated enter, exit and reordering transitions. This allows filtering and search results to change smoothly without rebuilding the entire experience as an unstructured list.
The architecture separates the platform shell from individual game logic. Shared product features can therefore evolve independently from Sudoku, Minesweeper, Nonogram or any other game module.
What the project demonstrates
Puzzle Gallery demonstrates reusable application architecture across a set of technically different interactive systems.
It shows how shared routing, persistence, search, animation and product structure can reduce duplication while allowing individual modules to remain independent.
Technical highlights
Nine independent games
Distinct rules and state models run inside one shared product.
Reusable application shell
Navigation and launching are separated from game-specific logic.
Hash-based routing
Individual games can be opened directly without separate pages.
Local persistence
Favorites, recents and ratings remain available between sessions.
Coordinated rendering
Updates are grouped into animation frames for smoother gallery behavior.
Animated reordering
Measured card positions support clean search and filtering transitions.
