https://github.com/stefaniamak/nonogram
Solve and design nonogram puzzles with real-time interaction and smart logic!
https://github.com/stefaniamak/nonogram
flutter-web heuristic-optimization isolated-worker puzzle-designer puzzle-solver recursive-thinking regular-expressions
Last synced: 11 months ago
JSON representation
Solve and design nonogram puzzles with real-time interaction and smart logic!
- Host: GitHub
- URL: https://github.com/stefaniamak/nonogram
- Owner: stefaniamak
- Created: 2022-09-11T13:27:09.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-05-23T17:40:04.000Z (about 1 year ago)
- Last Synced: 2025-06-18T17:44:29.185Z (about 1 year ago)
- Topics: flutter-web, heuristic-optimization, isolated-worker, puzzle-designer, puzzle-solver, recursive-thinking, regular-expressions
- Language: Dart
- Homepage: https://nonogram-thesis.web.app/
- Size: 1.73 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π§© Nonogram Solver & Puzzle Designer
A full-featured nonogram solver and puzzle creation tool built as part of my university thesis. This project combines **heuristic optimization**, **responsive UI**, and **interactive puzzle design** β all inside a clean and intuitive user experience.
Users can design their own nonogram puzzles or visualize the solving process step by step, with complete control and real-time feedback.
π Try it live here: https://nonogram-thesis.web.app/
π Thereβs a hidden easter egg inside β see if you can find it!
---
## π§ Features
β’ Solve complex nonogram puzzles using optimized heuristic algorithms
β’ Create puzzles by drawing directly on the grid or inputting clues manually
β’ Step-by-step solving slider with visual feedback
β’ Real-time puzzle validation and interactive error handling
β’ Responsive, mobile-friendly layout and intuitive UX
β’ Smooth performance using isolates and workers to offload heavy computations
---
## π My Role
Sole designer, researcher, and developer β responsible for architecture, performance tuning, user interface, and algorithm development.
---
## π― Project Goals
β’ Build a high-performance nonogram solver for large and complex puzzles
β’ Offer an intuitive puzzle creation interface with real-time drawing on a grid
β’ Ensure a smooth, responsive experience across desktop and mobile devices
---
## βοΈ Technical Highlights
β’ Heuristic algorithm reduced solving time from 9 minutes to ~1 second
β’ Recursive logic and constraint satisfaction techniques for puzzle validation
β’ Use of Flutter **Isolate** and **Flutter Worker** to keep the UI responsive
β’ Manual clue input + draw-your-own grid generation
β’ RegEx-powered validation for puzzle integrity
β’ Visual, step-by-step solving slider with animated transitions
---
## π¨ UX & UI Design
β’ Fully responsive layout using Flutter Web
β’ Custom clue placement logic and grid rendering
β’ Animated interactions, transitions, and error feedback
β’ Focused on simplicity and clarity for all user types
---
## π Thesis Materials
- π **Thesis PDF** β *Nonogram: Development of a Puzzle Solver and Designer*
_(still looking into how to get an official link through my University)_
- ποΈ **Presentation Slides**
_(same here)_
---
## ππ»ββοΈ Author
**Stefania Makrygiannaki**
π [LinkedIn](https://www.linkedin.com/in/stefaniamak)
π [Medium](https://medium.com/@stefaniamak)
---
## ποΈ Notice
This project was developed as part of my undergraduate thesis and is the intellectual property of my university. It is not open-sourced or licensed for public use or redistribution.