Solving Sudoku puzzles using Computer Vision

Hi everyone, I am new to this community. I want to share with you my project which allows the user to solve a Sudoku puzzle by uploading the puzzle’s image.
The app is live at:
The source code is available on Github: - star the repo if you like the app :smile:

Video demo of the app:

1 Like

This is my first project with streamlit, so let me know how I can improve the app.

Hi @vaithak, welcome to the Streamlit Community! Thanks for sharing this app, it looks pretty cool.

One suggestion I would make is explaining why I might choose the different models for digit recognition. I only used the built in examples, but all models seem to give the same digit recognition, so it’s not really clear why I would choose one model vs. any other model.

1 Like

Hi @randyzwitch, Thanks for taking time and sharing your review. The models are arranged in terms of their accuracy or complexity, I guess you just went through the first 2 examples, if you go through some more examples like the third one, then you will see that the slightly low accuracy models like Softmax regression can recognise one or two digits wrong which has the potential of making the parsed Sudoku invalid (by the rules of the game), for which the user can correct any incorrectly recognised digits from the sidebar.

1 Like

Definitely going to use to help me on some of my Sudoku puzzles! Now what I need is where I can upload my image with incorrect answers and it tells me which numbers are incorrect :smiley:

One very minor suggestion would be to add 1 or 2 lines of explanation text up top. Just help orient people by telling them what the app does and how they might want to use it.


Thanks, for the review @Amanda_Kelly.
Regarding your suggestions: the first part would be a little tricky to handle because the app should be able to distinguish between which digits were present in the original puzzle and which ones were added later on.
Although, you can still upload the partially solved puzzles and get it completed by the app as it can also recognise handwritten digits.

I will try to follow your second suggestion, the thing is I have made and been with the project for a good time (like around a week or two), so the functionality of the project became very intuitive for me, but yeah you are right, it may be not so obvious for a new user.