Sudokeando is a single-page Sudoku game built with React, TypeScript, and Vite. It combines a mobile-friendly board, animated transitions, persistent local stats, and a reactive robot mascot to make Sudoku feel more playful than a standard puzzle app.
- Four difficulty levels:
easy,medium,hard, andexpert - Two-screen flow: home screen and in-game screen
- Reactive SVG mascot with humorous commentary instead of gameplay hints
- Local progress tracking with wins, games played, and best time per difficulty
- Light and dark theme toggle persisted in local storage
- Internationalized interface for Spanish, Galician, English, French, German, Portuguese, Catalan, and Basque
- Reset and in-game timer controls
- Victory confetti and animated UI transitions
- Keyboard-accessible controls for difficulty cards, board cells, and actions
- PWA setup through
vite-plugin-pwausing shipped SVG assets
- React 19
- TypeScript 5
- Vite 8
- Framer Motion
- Lucide React
- sudoku-gen
- canvas-confetti
- vite-plugin-pwa
npm install
npm run devThe local development server runs on http://localhost:5173 by default.
npm run dev: start the Vite development servernpm run build: run TypeScript project build and create a production bundlenpm run lint: run ESLintnpm run preview: preview the production build locally
- ARCHITECTURE.md: current application structure and runtime behavior
- RULES.md: repository conventions for code and documentation changes
- The app still relies on browser
confirm()dialogs for restart and menu-exit flows. - Sudoku validation and board generation logic still live in the client application instead of dedicated domain modules.
- The game currently supports pointer input only on the board itself; direct keyboard navigation between Sudoku cells is not implemented yet.
