Inspiration

My friends and I love mini crosswords, but sometimes we want a small daily challenge without a busy interface, account setup, or a large puzzle. Crossy turns that shared interest into a quick ritual that works naturally on phones and desktops.

What it does

Crossy opens directly to one compact 6×6 English crossword for the current Eastern calendar date. Players can:

  • Solve with a native mobile keyboard or physical desktop keyboard
  • Tap cells and clues, toggle Across/Down, and follow active-word highlighting
  • Track active solving time
  • Reload without losing letters or elapsed time
  • Receive “Not quite right!” feedback without revealing errors or ending the game
  • Resume as many times as needed
  • See “Solved! Good job!”, their completion time, and a live countdown to the next puzzle
  • Automatically receive the next puzzle at midnight in America/New_York

The proof of concept includes three validated puzzles with 12 Across/Down entries each.

How we built it

Crossy is a dependency-free static web app:

  • index.html supplies the semantic interface
  • styles.css provides the responsive mobile-first design
  • puzzles.js contains three validated crossword datasets
  • app.js handles input, navigation, timing, persistence, checking, and Eastern-midnight rollover
  • Browser localStorage stores date-scoped progress

There is no backend, account system, runtime AI call, or build step.

How we used AI and Codex

Codex acted as the product-development collaborator throughout the Devpost plugin workflow. It interviewed me, turned the idea into Scope, PRD, Spec, and Checklist documents, proposed simple technical defaults, implemented the app, authored and validated puzzle data, and ran browser verification.

I actively shaped the project throughout. A key decision was cutting the initial plan from 30 puzzles to three validated puzzles after Codex surfaced the conflict with the 30–45 minute build budget.

Testing

Crossy was verified at mobile and desktop viewports. Checks covered:

  • JavaScript syntax
  • All three puzzle data contracts
  • Mobile and physical-keyboard input
  • Backspace and arrow navigation
  • Timer start and page-visibility pause
  • Reload persistence
  • Incorrect → Resume → corrected → Solved flow
  • Solved-state reload
  • Eastern midnight boundaries during daylight and standard time
  • Responsive layout with no horizontal overflow
  • Browser console errors

Known limitations

The three puzzles repeat after three Eastern calendar days. Progress is browser-local, and the proof of concept has no archive, account, streak, sharing, hint, authoring, or admin system.

Built With

Share this project:

Updates