Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

hellencharless54's avatar

Building a Letter Boxed‑Style Word Puzzle with Laravel Architecture & Feedback

Hi everyone 👋

I’ve recently been working on a project inspired by the Letter Boxed word game (the NYT puzzle where you create the shortest possible word chain using all given letters). I decided to build my own version as a web app using Laravel and would love to get some feedback on architecture and best practices.

Here’s a quick summary of what I’m trying to build:

🔹 A daily puzzle generator that shows a set of letters 🔹 Users can submit solutions — each must follow the Letter Boxed rules 🔹 Store submitted solutions in a database 🔹 Validate word rules server‑side for correctness 🔹 Display leaderboards (fewest words, fastest solves)

I’ve got a working prototype, and I’m tracking progress and pattern analysis on my site here: https://lettersboxdanswers.com/

Right now I’m debating the best way to structure the core logic:

📌 Questions for the community:

Puzzle generation: Should I pre‑generate daily puzzles and store them, or generate on the fly with caching?

Rule validation: What’s the Laravel‑idiomatic way to validate word chains — custom rule objects, services, or jobs?

Database design: Has anyone modeled similar puzzle games? Would you store individual letter positions or just the submitted string + metadata?

Performance: If this scales, would you recommend broadcasting live leaderboards via Laravel Echo / WebSockets?

Right now I’m using:

• Laravel 10 • MySQL • Tailwind + Livewire for interactivity • Jobs + Queues for validation

Any architecture advice, refactoring tips, or performance insights would be much appreciated! Thanks in advance 🙌

If you want, I can also draft sampl

0 likes
1 reply
emirsmith01's avatar

Interesting project. I would definitely pre-generate daily puzzles and cache them rather than generating them on every request. It makes debugging easier and ensures all users receive the same challenge.

For rule validation, I'd keep the puzzle logic inside dedicated service classes and use custom validation rules only for request-level checks. That approach has worked well for me on browser-based word puzzle projects.

I've been experimenting with similar word game mechanics on my own project, Blossom Word Game blossomwordgame.uk, and separating puzzle generation from validation logic made future updates much easier. For leaderboards, Laravel Echo/WebSockets would be a good option if you expect a large number of active players.

Looking forward to seeing how the project evolves.

Please or to participate in this conversation.