For the past months I’ve been working on a side‑project that started as a tiny experiment and slowly grew into something much bigger — a clean, fast and multilingual platform for crosswords, sudoku and other logic puzzles: crossword.by.
I didn’t plan to “build a puzzle platform”. I just wanted a simple place to solve crosswords without ads, pop‑ups, trackers or slow scripts. But the deeper I went, the more interesting the challenge became.
Here’s the story, the tech behind it, and what I learned along the way.
Why build another puzzle website?
Most puzzle websites fall into one of two categories:
- overloaded with ads
- outdated and slow
- limited to one language
- not mobile‑friendly
- or all of the above
I wanted something different:
- instant loading
- clean UI
- works on any device
- supports multiple languages
- no registration
- no distractions
Basically: a quiet place to think.
The multilingual challenge
Supporting multiple languages (EN, DE, FR, ES, UK, RU and more) turned out to be one of the most interesting parts.
Crosswords are language‑dependent:
- clue structure
- word length
- letter frequency
- cultural references
I had to rethink how puzzles are stored, generated and validated.
Instead of a single dictionary, I built a modular system where each language has its own word list and metadata.
This also opened the door to something cool:
children‑friendly puzzles with simplified vocabulary.
Sudoku: harder than it looks
Sudoku seems simple on the surface, but generating good puzzles is a whole different story.
I wanted:
- no guessing
- logical solving path
- difficulty levels that actually make sense
- clean grids with minimal clues
I experimented with several generation algorithms, pruning strategies and difficulty estimators. Eventually I built a hybrid approach that balances:
- constraint propagation
- backtracking
- human‑style solving heuristics
The result: puzzles that feel natural, not random.
Performance matters
One of my goals was to make everything instant.
That meant:
- no heavy frameworks
- minimal JS
- pre‑rendered pages
- optimized SVG rendering for grids
- caching wherever possible
The entire site loads in a blink, even on slow mobile devices.
Designing for focus
Puzzle‑solving is a “flow” activity.
Anything that breaks concentration ruins the experience.
So I kept the UI extremely minimal:
- no pop‑ups
- no modals
- no animations
- no dark patterns
- no clutter
Just the puzzle, clean typography, and a few essential controls.
What I’m working on next
There’s still a lot I want to add:
- user‑generated puzzles
- community challenges
- daily streaks
- printable versions
- more languages
- more puzzle types
But even in its current form, the platform is already being used by people from different countries — which is incredibly motivating.
Try it out
If you enjoy crosswords or sudoku, feel free to try the platform:
👉 https://crossword.by
I’d love to hear your thoughts — UI, puzzle quality, performance, missing features, anything.
Thanks for reading!



Top comments (0)