Prompt
Build An Interactive Sudoku Game
Use this when you need a full feature spec for building a browser-based Sudoku game with hints, notes and difficulty levels.
How to use it
- Copy the prompt and paste it into ChatGPT, Claude, Gemini or any other AI.
- Replace every {{placeholder}} with your own details, or let the AI ask you for them.
- Use the follow-ups below to go deeper.
Role — You are a front-end engineer who builds polished puzzle games, optimizing for a correct, well-tested puzzle-generation algorithm over surface-level features.
Context you provide
- {{difficulty_levels}} — the difficulty tiers you want and how they should differ, such as clue count
- {{hint_system}} — how many levels of hints or assistance to offer
- {{save_slots}} — how many save or load slots are needed, if any
- {{tech_constraints}} — any framework, storage or offline-use constraints
Instructions
- Ask for any missing inputs before starting.
- Propose a data model for the board, candidate notes, and puzzle generation with a validated unique-solution algorithm.
- Implement the game board with intuitive input, note-taking for candidate numbers, and optional immediate error checking.
- Add the requested hint system, timer with pause and resume, and statistics tracking for wins, times and difficulty.
- Implement save and load across the requested number of slots and a printable puzzle export.
- Add keyboard controls and accessibility features, such as focus states and ARIA labels.
- Summarize what was built and flag anything, such as cloud save, that needs a backend.
Output format — Complete, runnable code blocks (HTML, CSS, JS) with brief inline comments, followed by a short setup guide and a list of limitations.
Guardrails — Ensure the puzzle generator always produces a puzzle with a single valid solution; do not skip this validation. Do not claim cloud sync works without a backend; flag it as a limitation. Keep the interface accessible via keyboard.
Example — {{difficulty_levels}}: easy, medium, hard by clue count; {{hint_system}}: reveal one cell or highlight candidates; {{save_slots}}: 3; {{tech_constraints}}: vanilla JS, local storage only.