Projects

Pastime

puzzles and solitaire · installable, offline

A puzzle book with no ads, every level proved solvable.

Small solo puzzle and card games, printed as a puzzle book, without the ads of the apps that usually carry them. Every level is generated on the phone and proved solvable before it is shown, and the whole app installs and runs offline.

  • TypeScript
  • React
  • PWA
  • Web Workers
  • Workbox
  • Vitest
Commits
38
on main, read 2026-10-08
Coverage
55%
lines run by the engines’ and the app’s unit tests, read 2026-10-08
House packages
11 of 11
installed from npm
First commit
October 7, 2026

At a glance

  • Four games in one app: Stars, Pipes, Klondike solitaire and Color Dots. No ads, no account, nothing to download after the first visit.
  • Every level is generated on the phone and checked before it is shown: a logical solver proves each Stars and Pipes grid has one solution reachable without a guess, and a solitaire deal ships only once a solver has won it.
  • Color Dots levels are built backwards from the solved board, so the way back is a guaranteed win, replayed once more before the level ships.
  • A puzzle is named by its game, variant and number and seeded from that name: the daily puzzle is the same on every phone, with no server to agree on it.
  • Generators run in a Web Worker, and one that gives up is retried from a seed derived from the first, so a retried daily is still everyone’s daily.

History

Straight from the git log, abridged: 9 of 38 commits, newest first.

  1. Print the install and update notices at the end of the hub, where they push nothing in view
  2. Play Color Dots: printed board, ball rides, loss on a blocked tap
  3. Color Dots engine: tree rules, solver, reverse generator with boss progression
  4. Solitaire engine: Klondike rules, solver, winnable-deal generator
  5. Play Pipes: logical solver, unique-solution generator, live water board
  6. Play Stars: logical solver, unique-solution generator, pencil board
  7. Print the app in the Cahier de jeux world
  8. Bootstrap the installable shell
  9. Project docs and build planFirst commit

House packages

11 of the 11 house packages, from npm, down to the compiler and linter settings.

Your team, perhaps?

I am looking for my next job. Write to me, or take the CV: a designed one, and a plain one for applicant tracking systems.