A browser-based Nonogram / Picross puzzle app built with React and Vite.
It lets you:
- browse saved puzzles
- create puzzles manually
- generate puzzles from photos
- solve puzzles from row/column clues
- play puzzles in a clean, interactive grid
All puzzle data is stored locally in the browser.
- View all saved puzzles as cards with a grid thumbnail
- Filter by puzzle size
- Search by puzzle name
- Click a card to open it in Play mode
- Pick a puzzle name and grid size
- Draw the solution on an editable grid
- Save the puzzle with generated clues
- Upload an image
- Adjust the brightness threshold
- Preview the processed image
- Generate and save a nonogram puzzle from the photo
- Enter row and column clues
- Generate a solution grid
- Review unknown cells that require guessing
- Save the solved puzzle
- Open a saved puzzle and solve it interactively
- Left click to fill a cell
- Right click or Shift+click to mark a cell as empty
- Check your solution and reset progress
- Login/register flow is included
- Session state is stored locally in the browser
- This is a lightweight app-level auth system, not a backend identity provider
- React 19
- React Router
- Vite
- Tailwind CSS
- Browser localStorage for puzzle and session persistence
- Node.js 18+ recommended
- npm
npm installnpm run devThen open the local Vite URL shown in the terminal.
npm run buildnpm run previewsrc/
App.jsx # App routing and layout
components/
auth/ # Login screen
browse/ # Puzzle library
create/ # Manual puzzle creation
photo/ # Photo-to-puzzle workflow
play/ # Puzzle gameplay
solve/ # Clue-based solver UI
layout/ # Navbar and sidebar
shared/ # Reusable UI components
context/ # Auth, storage, notification providers
lib/ # Nonogram, solver, storage, photo processing helpers
- Puzzle data is saved in
localStorage, so clearing browser data will remove saved puzzles. - Photo-to-puzzle generation depends on image thresholding, so results may vary by image.
- The app is currently designed as a single-user local experience.
QUICK-REFERENCE.md- short gameplay and feature guideload-sample-puzzles.html- utility for generating sample puzzlestest-solver.html- solver test pagegenerate-sample-puzzles.js- sample puzzle generator script
No license file is currently included.