Skip to content
Get in touch

Cross Prompt

Short crosswords for curiosity, concept reinforcement, and connected thinking.

Instructions, details & credits
A connected-word puzzle

Created by Mike Besso

  • Word Games
  • Keyboard or touch
  • Local progress

Executive Summary

Cross Prompt is a collection of short crosswords built around curiosity, concept reinforcement, and the pleasure of watching small answers become a connected whole. Twenty puzzles range from 5×5 minis to 9×9 grids. Each puzzle can carry a learning objective and a short debrief without turning play into a quiz.

The game was developed through a partnership between human judgment and Generative AI. Generative AI helped explore puzzle candidates, clue language, metadata, application code, and tests. The human decided what the product should feel like, whether an answer was familiar enough, whether a clue was fair, whether a claim was sound, and whether a puzzle was ready to move beyond a test edition. A deterministic validator catches structural mistakes; it does not pretend to replace editorial judgment.

Before You Play

Choose a puzzle from the gallery, then select a square or clue and begin typing. Cross Prompt includes ten 5×5 puzzles, four 7×7 puzzles, and six 9×9 puzzles. The gallery sorts them by size and title, and its miniature pattern is generated from the same grid you will play.

All twenty current puzzles have human approval for production. The collection includes The Word Is The Clue, a 5×5 controls-practice puzzle where every clue is the answer.

Your guesses, pencil marks, and elapsed time stay in this browser. There are no accounts, leaderboards, cloud saves, or AI calls during play.

Controls and Accessibility

  • Select a white square or choose an Across or Down clue. Selecting the same crossing square again switches direction.
  • Type a letter or use the on-screen letter keyboard to fill the active square. Hide or show that keyboard to make more room for clues.
  • By default, entry skips filled squares and stops at the end of a clue. Fill only the blank squares when continuing an answer; select a filled square to replace its letter. Settings changes skipping, clue advance and return-to-blank behavior.
  • Use the arrow keys to move and set direction. Press Space to switch between Across and Down. Backspace clears a filled square or moves backward when the square is empty.
  • Pencil marks tentative letters. Check marks entered mistakes without revealing blank squares. Reveal asks for confirmation before filling the complete solution. Reset asks before clearing saved progress and elapsed time for the open puzzle.
  • Controls and cells expose meaningful accessible names and visible keyboard focus.
  • On desktop, the board sits between Across and Down clues. On a narrow screen, the board and active clue come before the full clue lists, with no horizontal scrolling.
  • Completion stops the timer and reveals the puzzle’s concept debrief. Progress is stored only on the current device and can be lost when browser storage is cleared or unavailable.

How We Made This with Generative AI

We treated a crossword as content with rules, not as a picture of a grid. The human began with a theme and an intended audience. Generative AI could then help propose familiar answers, crossings, clues, and learning metadata. Every candidate still had to survive two different questions: “Does this grid work?” and “Is this puzzle worth asking someone to solve?”

The first question became code. A build-time validator checks dimensions, legal characters, rotational symmetry, connected open cells, answer length, full crossings, numbering, clue completeness, unique answers, theme tags, and agreement between the grid and its entry list. A generated manifest turns the validated JSON files into the gallery in a fixed order. The second question remains human. Reviewers solve from the clues, flag ambiguity and obscure fill, fact-check claims, and keep a puzzle in test status while any concern remains.

Generative AI also helped organize the player into observable behaviors: selection, direction changes, keyboard advance, pencil marks, checks, reveal confirmation, reset, local progress, completion, and responsive reading order. Automated tests and browser checks made those behaviors easier to challenge. Human review decided whether the experience felt clear, fair, and playful.

The Gory Details

The JSON file owns the puzzle. Each published file contains metadata, dimensions, the solution grid, numbered Across and Down entries, clues, theme context, a learning objective, a debrief, tags, and review status. The React player does not register puzzles by hand. This makes a puzzle durable, inspectable, and portable across hosting systems.

The manifest is a derivative, never an editorial source. Before each build, the validator reads every published JSON file, rejects structural failures, creates the miniature preview pattern, and sorts the catalog by grid size and title. The resulting manifest is generated content. If a puzzle is wrong, we correct the puzzle rather than hand-editing the catalog or weakening validation.

Structural validity and editorial quality are separate gates. One important correction in the design was recognizing that a technically valid fill can still be unpleasant. Symmetry and correct crossings cannot tell us whether an abbreviation is too obscure, a proper noun is too narrow, a clue hides an unfair answer, or a sensitive topic is handled with care. That boundary is why new puzzles begin as test editions and why human play review has authority.

One React component owns both the gallery and player. Opening a puzzle loads one JSON document, restores its local state, selects the first Across entry, and changes the query string without a server round trip. The player derives active words and numbering from the open puzzle. Typing updates a cell-keyed guess map; a completed grid is recognized only when every open cell matches its answer.

Responsive order is part of the interaction contract. Desktop gives Across clues, board, and Down clues equal context while preserving the board as the focal point. Mobile moves the title, board, active clue, and tools ahead of the longer clue lists. This was tested as reading order and overflow behavior, not left to a screenshot that happened to look acceptable.

Local-first is a trust decision. Puzzle files and the manifest are static. Solving state uses browser local storage under a versioned puzzle key. The game needs no account, database, D1 binding, R2 bucket, authentication service, or live model. The original Vinext build remains available, while the Game Room build reuses the same player and content through a second prefix-safe static entry.

Tests divide responsibility instead of manufacturing certainty. Automated checks can prove that twenty puzzle files validate, gallery metadata matches the sources, routes and assets stay within the game prefix, input state changes correctly, saved progress restores, and desktop/mobile layouts honor their contracts. They cannot prove that a clue produces a satisfying realization. That final judgment belongs to people who solve the puzzle.

The reusable lesson is that Generative AI becomes more trustworthy when its suggestions must pass explicit system rules and visible human judgment. The validator makes structural defects cheap to catch. The test-edition label makes uncertainty honest. The editable JSON keeps the work available for the next human improvement.

Credits

Creator

Created by Mike Besso.

Human direction and Generative AI

Mike Besso provided human direction and editorial judgment. Generative AI helped explore puzzle candidates, clue language, metadata, application code, and tests. Human review decided whether answers were familiar, clues were fair, claims were sound, and puzzles were ready to move beyond a test edition. Automated validation checked structure; people judged the experience.

Read the game brief for the development account, controls, and limitations.

Promotional artwork

The cream-colored Cross Prompt illustration with three crossword cards was created with ChatGPT by OpenAI.