Eric Holzer and I have written a Nurikabe Solver and a GUI for our high school graduation project (Travail de Maturité, or TM), at the age of 17. The algorithm has been originally written in Python, and a JavaScript version has been implemented below. All grids have been taken from puzzle-nurikabe.com.
Choose a Nurikabe grid to solve:
Hover for Nurikabe rules
Each number on the grid represents an "island" size
The number of tiles of an island must be equal to its size