Pressto
Deterministic puzzle & activity book generator for print-on-demand publishing.
Pressto turns puzzle definitions into print-ready book interiors (Amazon KDP PDFs). It is the generation engine behind the Bright Grid Press catalog.
Status: 0.0.x — name reservation. This release establishes the gem name and the module namespace. The engines are being built test-first; see the roadmap below.
What it will do
One gem, many engines — each grouping the puzzle types that share generation machinery:
| Engine | Types | Notes |
|---|---|---|
| Grid search | word search, number search | themed word lists; language-independent number grids |
| Sudoku family | classic, killer, jigsaw, diagonal | one solver core, variant constraints |
| Kakuro | cross-sums | constraint-solver moat |
| Cryptogram | substitution ciphers | public-domain quote corpus |
| Maze | kids mazes (themed, masked) | provable difficulty grading |
| Math worksheet | color-by-number, drills | grade-banded, curriculum-checked |
| Crossword | fill-in (phase 1), codeword | uniqueness-proved |
| Bible content | verse cloze, who-said-it, memorization | retrieval-only from scripture text |
| Guided journal | keepsake / memory journals | prompt curation |
| Prompt content | would-you-rather, jokes, riddles | curated, screened |
Every generated puzzle is software-verified: solvable, uniquely solvable (where the type requires it), difficulty-graded by a solving-technique simulator, deduplicated against a registry, and screened for unfortunate content.
Design principles
- Deterministic:
generate(params, seed:)is a pure function — same inputs produce a byte-identical result. No wall-clock timeouts in generation logic. - Standard contract: every engine emits the same JSON-serializable envelope.
- TDD, always: failing test first; edge cases are catalogued and each has a named test.
Full specifications and build order live in the project's technical_planning/ documents.
Development
bundle install
bundle exec rspec
License
Proprietary — all rights reserved. Not licensed for redistribution.