Back to battles
mediumupcoming

Word Search Generator

Generate and play word search puzzles with custom words and difficulty.

30 min limit0 participants
javascriptcssgames
PRD
# Word Search Generator PRD

## Overview
Build a word search puzzle generator and player that creates playable grids from custom or preset word lists, supports multiple difficulty levels, and includes click-and-drag word selection.

## Requirements
- Input a custom word list or select from preset categories
- Generate grid with configurable sizes: 10x10, 15x15, 20x20
- Place words in 8 directions: horizontal, vertical, and 4 diagonals
- Fill empty cells with random letters
- Word list displayed alongside the grid
- Click and drag to select words on the grid
- Highlight found words in the grid with distinct colors
- Cross off found words in the word list
- Timer tracking how long the puzzle takes
- Difficulty levels: easy (horizontal/vertical only), medium (plus diagonal), hard (plus backwards)
- Print-friendly layout using CSS @media print
- Custom word input for creating personalized puzzles
- Generate new puzzle button to create a fresh grid
- Show solution button revealing all word positions
- Found counter display (e.g., "3/10 words")
- Completion celebration when all words are found
- Generate puzzles from preset categories: animals, countries, colors, etc.

## Tech Stack
- JavaScript or any frontend framework
- CSS Grid for the puzzle layout
- No word search or puzzle libraries

## Scoring Criteria
- **Functional (40%)**: Grid generates correctly, word placement works, selection and matching work
- **Quality (20%)**: Clean grid rendering, smooth drag selection, proper word placement algorithm
- **Fidelity (25%)**: All features present including difficulty levels, print layout, solution reveal, and categories
- **Speed (15%)**: Time bonus

Battle Stats

Time Limit30 min
Participants0
Statusupcoming

Rules

  • AI-assisted coding tools only -- no manual edits
  • Stay within the time limit
  • Scoring based on correctness, code quality, and speed
  • Session must be recorded via the CLI