sudoSolve is a client-side augmented reality Sudoku solver that detects a Sudoku puzzle from an image or camera feed, recognizes digits using machine learning, solves the puzzle using a high-performance WebAssembly backend, and overlays the solution back onto the image in real time.
The entire pipeline runs locally in the browser, with no server or backend dependency.
- Camera and image-based input for real photographed Sudoku puzzles
- Computer vision pipeline using OpenCV.js for grid detection and perspective correction
- Digit recognition using TensorFlow.js
- High-performance Sudoku solver written in C++ and compiled to WebAssembly
- Fully client-side execution with no data uploaded to a server
- JavaScript (ES Modules)
- OpenCV.js for image processing
- TensorFlow.js (WASM backend) for digit recognition
- C++ compiled to WebAssembly using Emscripten
- HTML5 Canvas for rendering and overlay
- Capture a video frame or load an image
- Detect the Sudoku grid and correct perspective distortion
- Extract individual cells from the grid
- Recognize digits using a trained neural network
- Solve the puzzle using a backtracking algorithm in WebAssembly
- Overlay the solved digits back onto the original image
- A modern browser (Chrome or Firefox recommended)
- Python (for running a local HTTP server)
git clone git@github.com:lumos07/sudoSolve.git
cd sudoSolve
python3 -m http.server 8000