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!
• 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
Sole designer, researcher, and developer — responsible for architecture, performance tuning, user interface, and algorithm development.
• 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
• 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
• 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 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)
Stefania Makrygiannaki
🔗 LinkedIn
📝 Medium
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.