I think that Sudoku needs no explanation. It was fun to implement this all by myself, and writing it in TypeScript made my life pretty easy. There are 100 random puzzles of varying difficulty, so just hit the button and have at it!