Daily Puzzle Platform

Klued

Daily mini crossword web app with generated puzzles, a no-sign-in first play path, progress tracking, and template tooling behind the publishing flow.

Snapshot

Role
Product design and web engineering
Timeline
2026
Status
Live product
Klued homepage with daily mini crossword call to action
Daily puzzle lifecycle diagram for Klued showing publishing, delivery, and player state flows
Klued puzzle start gate with date, grid size, clue count, and timer
Klued desktop crossword grid with clue list and helper controls
Klued mobile crossword grid with compact controls

Home

The public entry point keeps the promise simple: a free daily mini crossword with no sign-in required for the first play.

01 / 05

Role

Product + full-stack

Product flow, solving interface, persistence model, generation tooling, and production deployment.

Platform

Next.js app

Public daily game surface backed by Supabase data, Vercel Cron, and server-side generation.

Focus

Daily habit

Reduced first-play friction while keeping enough progress, streak, and archive structure for repeat use.

Challenge

Klued needed to feel like a quick daily game on the surface while handling the harder system work underneath: reliable puzzle generation, dated publishing, responsive solving, progress persistence, and repeatable template management.

Approach

The work was organized around a few practical decisions that kept the product direction clear.

  • Separated the public play loop from the generation pipeline so players get a simple dated puzzle experience while daily publishing runs through server-side jobs and cache revalidation.
  • Built the crossword interaction model around fast solving: smart direction selection, keyboard shortcuts, mobile controls, date navigation, helper actions, and a completion modal with streak context.
  • Added persistence paths for anonymous local progress and authenticated remote progress so users can start without an account but still keep history when they sign in.
  • Created a template studio and benchmarking flow to manage reusable grid patterns and prefer layouts that generate reliably.

Outcome

Shipped a live daily crossword experience with dated puzzle routes, mobile and desktop solving, progress/streak infrastructure, and a generation system that can support daily publication.

Player experience

Klued is designed to get someone from the homepage into a playable puzzle quickly. The public flow supports no-sign-in play, dated puzzle routes, previous/next date navigation, a start gate, a running timer, keyboard shortcuts, error checking, hints, reveals, and completion feedback.

  • Daily puzzle routes use date keys so each puzzle has a stable URL and metadata.
  • React Query prefetches neighboring dates so browsing previous and next puzzles feels responsive.
  • The solving UI adapts between a full desktop clue panel and a compact mobile layout.

Generation system

The publishing side is built around a server-only crossword engine rather than hand-authored static puzzles. Daily generation chooses formats from the date difficulty, races seeds against time budgets, uses benchmarked templates when available, fills from quality-scored word candidates, rewrites clues through an AI-assisted validation pass, and revalidates cached puzzle routes after successful writes.

  • Vercel Cron calls the protected daily route with a shared secret.
  • Supabase stores daily puzzles, templates, progress, streaks, and play-start counts under the Klued schema.
  • Word quality scoring combines crossword frequency with English usage signals to avoid low-quality fill.

Template tooling

Klued includes an internal template studio for creating reusable grid patterns. The tool supports adjustable grid dimensions, black-square editing, crossword numbering, duplicate detection across rotated forms, template deletion, and benchmark stats so generation can prefer layouts that fill quickly and reliably.

Persistence and growth

The product keeps the first session lightweight while leaving a path for retention. Anonymous users get local progress, signed-in users can sync remote progress through Supabase RPCs, and completions can update streak state. Puzzle-start tracking also gives the homepage a simple public usage signal.

Proof points

The screenshots show the public entry point, the start gate, the responsive solving surface, and the system flow that turns generated puzzles into dated daily play. The next useful asset is a short solve-through video showing start, clue selection, keyboard input, helper controls, and completion feedback.