You should consider making the game generate levels guaranteed to be solvable, like e.g. Simon Tatham's version or 14 Minesweeper Variants do. That would let you avoid hand placing safe zones and lowering down mine counts. SGT's version is MIT licensed and the algorithm should not be hard to adapt as your version doesn't alter minesweeper's rules.
Another feature I would love to see lifted is putting the "chord" action on left click. Left clicking opened cell doesn't do anything anyway. 14 Minesweeper Variants in addition makes it perform the complement action: when there are only as many unmarked cells as there are unmarked mines, it marks them all as mines.
Another feature that I think would make later levels less frustrating is to make completed numbers (i.e. with no adjacent unmarked cells and with # of adjacent marked cells matching the number) desaturated.