← Back to Projects

Sudoku Web App

An ad-free Sudoku web app with a custom puzzle engine · April 2026

React TypeScript Vite Web Workers Puzzle/math logic CSS Pixel Art

Most mobile Sudoku apps interrupt gameplay with ads after every puzzle. I built my own: no ads, no interruptions, just puzzles. I used this as a chance to dig into the algorithmic side of Sudoku: generating puzzles with controllable difficulty, and rating them the way a human solver would.

Sudoku web app landing page showing the sakura pixel art themed menu

Landing page with sakura pixel art theme

Overview

01 — Tech Stack

Built with modern tools

React for the UI, TypeScript for type safety, and Vite for fast development builds. Puzzle generation runs in a Web Worker to keep the UI responsive.

02 — Difficulty System

Human-style rating

Developed a seven-technique difficulty rater that evaluates puzzles based on the solving strategies required, not just the number of clues removed: mimicking how a human player would assess difficulty.

03 — Game Features

Full game experience

Includes a pause/resume timer, local scoreboard for tracking best times, multiple difficulty levels, and input validation with error highlighting.

04 — Design

Sakura pixel art theme

Custom pixel art aesthetic inspired by Japanese cherry blossom motifs. Designed to feel like a retro game while maintaining a clean, modern interface.

Demo

Key Features

Technical Highlights

The difficulty rating system uses seven distinct solving techniques (from naked singles to X-wing patterns) to classify each puzzle. Rather than simply counting empty cells, the rater analyzes which strategies a human solver would need, producing more accurate and satisfying difficulty levels.

Puzzle generation runs entirely in a Web Worker thread, preventing the main UI from freezing during the computationally intensive process of generating and validating new puzzles.


← Back to Projects