Skip to content

Word Cross 1.0 — a Dutch crossword whose clues are definitions

Choose a tag to compare

@abons abons released this 29 Jul 09:34
· 9 commits to main since this release

The first release of Word Cross — a generated interlocking crossword in Dutch, where every clue is
the answer's own dictionary definition with the word masked out.

What's in it

  • A daily puzzle, derived from the date, so it is the same grid for everyone that day and
    survives a restart unchanged.
  • Free play in three sizes — klein (±8 words), normaal (±16), groot (±24). The daily ignores the
    choice on purpose.
  • Controleer marks wrong letters red; Hint reveals a single letter or the whole word, and
    solving without hints is counted separately.
  • Statistics and streaks: solved, solved without hints, dailies, current and best day streak.
  • Eight drawn backdrops — mountains, ocean, forest, desert, city, night, meadow, autumn — made
    from canvas shapes only, so the APK contains no image files at all.
  • Screen-reader support. The grid is one hand-drawn canvas, published as a virtual view tree:
    every open cell is a focusable node that says where it is, what is in it and which clues run
    through it. Walked through with TalkBack by ear.
  • Offline after the first start. The Dutch word list and its definitions are downloaded once and
    cached; after that the app needs no network.

Under the hood

Pure Kotlin on the Android framework — no AppCompat, Compose, Material or any third-party runtime
library, and the entire UI is built in code. That is where the 66 KB comes from. The 4.3 MB
definitions file is streamed straight into a compact per-install cache, which brings a cold start
down to about 1.5 s.

Permissions

INTERNET and ACCESS_NETWORK_STATE, both for the one-time download of the word list. No ads, no
analytics, no accounts; puzzles, statistics and streaks stay on the device.


com.hrbons.wordpuzzle_1.apk — 67,127 bytes, versionCode 1, Android 5.0+.
SHA-256 92fa281ba45ba3be1f05d3a0bcd54aba70a0879dc90cbed91c99d2ff11145c84