Building Sudoku Dojo with Claude Code: A Development Story
Hello everyone! Today, I’d like to share the story behind developing “Sudoku Dojo,” a web app designed to support Sudoku play and technique understanding.
This project aims to offer a simple, multilingual tool that can deepen the Sudoku experience for puzzle fans around the world. I built it with significant help from Claude Code.
Why I Decided to Build It
Sudoku is a globally loved puzzle, but I felt that:
- There are few opportunities to systematically learn advanced techniques
- Puzzle quality is often inconsistent
- It’s surprisingly hard to find a mobile-friendly, enjoyable Sudoku platform
So I decided to build a web tool to enhance the overall Sudoku experience, providing:
- beginner-friendly puzzles
- technique explanations for intermediate and advanced players
- a smooth, mobile-optimized UI
Tech Stack and Architecture
The project’s technical stack is as follows:
- Frontend: React 18 + TypeScript + Vite + Tailwind CSS
- Internationalization: React i18next + i18next-browser-languagedetector
- SEO: React Helmet Async + JSON-LD structured data
- Backend: Netlify Functions (Python)
- Puzzle generation: hybrid generator (Timedia-based + Norvig algorithm)
- Hosting: Netlify
Claude Code especially supported me in:
- design brainstorming
- exploring puzzle generation algorithms
- validating complex state management logic
Challenges I Faced
1. Ensuring Puzzle Uniqueness
The biggest challenge was guaranteeing unique solutions.
With automatic generation, non-unique puzzles inevitably slipped in, and I had to remove 146 out of the first 300 puzzles.
After that, I used Gemini as a second-opinion checker for uniqueness verification, and repeated the process of generation and review. In the end, I managed to prepare:
- Easy: 110 puzzles
- Medium: 100 puzzles
- Hard: 100 puzzles plus 15 extreme puzzles with only 20 hints, all verified to have unique solutions.
2. Internationalization and SEO
Since I wanted to reach users worldwide, handling
- language switching between Japanese and English
- SEO optimization for each language at the same time was quite challenging.
By leveraging i18next with multilingual URL structures, and adding JSON-LD plus sitemap definitions, I managed to help search engines properly index the pages.
3. Dynamic AI-Powered Hints
I’m also currently working on implementing
dynamic hints powered by AI.
By analyzing the user’s current board state and any notes they have, the system suggests hints that support their learning without spoiling the game itself.
The key is to provide meaningful guidance while preserving the puzzle’s challenge.
4. User Experience
Beyond the interface, I paid particular attention to:
- making the game smooth on smartphones
- saving progress in case of interruptions
- real-time correctness checking
I also worked on improvements like:
- stabilizing the game timer
- implementing a reward credit system tied to ad viewing
- making row and column numbering display clearly centered
How Claude Code Helped
Claude Code was a great partner for:
- handling Python error management
- optimizing React performance
- breaking down complex state structures
It felt like having a second pair of expert eyes, letting me go beyond the limits of solo development.
What’s Next?
Since it’s only just been released, traffic is still limited, but I’m planning to promote it on:
- Hacker News
- YouTube puzzle channels
In the future, I’m also thinking about:
- daily challenge puzzles
- even richer multilingual technique explanations
- letting users post and share their own puzzles
Final Thoughts
“Sudoku Dojo” was built with the goal of helping people around the world
- play Sudoku correctly
- enjoy it
- and deepen their experience.
It is not open source at this moment, but I’m excited to keep improving it.
I hope this story can inspire others who are working on indie development projects.
I’d love to hear your thoughts or feedback!
https://suwaku.hitoriasobi.life/
Why I Decided to Build It
Sudoku is a globally loved puzzle, but I felt that:
- There are few opportunities to systematically learn advanced techniques
- Puzzle quality is often inconsistent
- It’s surprisingly hard to find a mobile-friendly, enjoyable Sudoku platform
So I decided to build a web tool to enhance the overall Sudoku experience, providing:
- beginner-friendly puzzles
- technique explanations for intermediate and advanced players
- a smooth, mobile-optimized UI
Tech Stack and Architecture
The project’s technical stack is as follows:
- Frontend: React 18 + TypeScript + Vite + Tailwind CSS
- Internationalization: React i18next + i18next-browser-languagedetector
- SEO: React Helmet Async + JSON-LD structured data
- Backend: Netlify Functions (Python)
- Puzzle generation: hybrid generator (Timedia-based + Norvig algorithm)
- Hosting: Netlify
Claude Code especially supported me in:
- design brainstorming
- exploring puzzle generation algorithms
- validating complex state management logic
Challenges I Faced
1. Ensuring Puzzle Uniqueness
The biggest challenge was guaranteeing unique solutions.
With automatic generation, non-unique puzzles inevitably slipped in, and I had to remove 146 out of the first 300 puzzles.
After that, I used Gemini as a second-opinion checker for uniqueness verification, and repeated the process of generation and review. In the end, I managed to prepare:
- Easy: 110 puzzles
- Medium: 100 puzzles
- Hard: 100 puzzles plus 15 extreme puzzles with only 20 hints, all verified to have unique solutions.
2. Internationalization and SEO
Since I wanted to reach users worldwide, handling
- language switching between Japanese and English
- SEO optimization for each language at the same time was quite challenging.
By leveraging i18next with multilingual URL structures, and adding JSON-LD plus sitemap definitions, I managed to help search engines properly index the pages.
3. Dynamic AI-Powered Hints
I’m also currently working on implementing
dynamic hints powered by AI.
By analyzing the user’s current board state and any notes they have, the system suggests hints that support their learning without spoiling the game itself.
The key is to provide meaningful guidance while preserving the puzzle’s challenge.
4. User Experience
Beyond the interface, I paid particular attention to:
- making the game smooth on smartphones
- saving progress in case of interruptions
- real-time correctness checking
I also worked on improvements like:
- stabilizing the game timer
- implementing a reward credit system tied to ad viewing
- making row and column numbering display clearly centered
How Claude Code Helped
Claude Code was a great partner for:
- handling Python error management
- optimizing React performance
- breaking down complex state structures
It felt like having a second pair of expert eyes, letting me go beyond the limits of solo development.
What’s Next?
Since it’s only just been released, traffic is still limited, but I’m planning to promote it on:
- Hacker News
- YouTube puzzle channels
In the future, I’m also thinking about:
- daily challenge puzzles
- even richer multilingual technique explanations
- letting users post and share their own puzzles
Final Thoughts
“Sudoku Dojo” was built with the goal of helping people around the world
- play Sudoku correctly
- enjoy it
- and deepen their experience.
It is not open source at this moment, but I’m excited to keep improving it.
I hope this story can inspire others who are working on indie development projects.
I’d love to hear your thoughts or feedback!
Top comments (0)