~/projects / sudoku
Sudoku
Browser Sudoku with several difficulty levels, instant move validation and a timer. Built with Next.js.
- role
- design and implementation in Next.js
- time
- Apr 2024 – May 2026
- type
- personal
- stack
- Next.js · React · TypeScript
01 / problem
Sudoku that checks you as you play
Pen-and-paper Sudoku gives no feedback until you finish. A web version can validate every move and time the run.
02 / solution
An interactive board with instant feedback
Players enter numbers and move between cells on a dynamic board, choose a difficulty from easy to hard and get immediate feedback from built-in validation. An integrated timer tracks the solving time.
- [screenshot 1]
[caption]
- [screenshot 2]
[caption]
03 / architecture
How it works
A Next.js 14 and React 18 application in TypeScript, structured as pages, components, hooks, reducers and context, with a Prisma schema and seed data. Docker files are included and a static export is published on GitHub Pages.
04 / results
Outcome
05 / lessons
What I learned
- Reducers and context keep the board state in one place, away from the cell components.
- A static export on GitHub Pages is enough hosting for a client-side game.
gallery
- [photo]
[caption]
- [photo]
[caption]
- [photo]
[caption]