Skip to content

~/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
demo.mp4
[demo video: screen recording, 1–3 min]

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]