An open API service indexing awesome lists of open source software.

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!

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.