v0.1.0 · offline-first PWA · zero dependencies

A Rubik's cube coach that works with nothing behind it.

Cubiq scans a physical cube, verifies a four-stage CFOP plan, and walks you through it — as an installable static PWA with no build step, no framework and no network. The backend, the panel and this site are all optional.

0 deps · no bundler, no build 0 cross-origin requests 4 verified plan stages
bringing a tier up

      

Search

Answers before you finish typing

Titles, tags and full section text across every page, AND semantics with prefix matching. This box is not a mock-up: it calls the same engine as the ⌘K overlay.

⌘K anywhere
ready static index

The product

Three things, and only the first is required

Cubiq is a coaching app that happens to have a backend. The split is enforced, not aspirational: a test fails if any core file so much as mentions the API.

Counted

Measured, not claimed

Figures from this repository and from a live deployment, not from a pitch deck.

97
tests, zero dependencies, no lockfile
61
graph types · 273 indexes · 8 migrations
200
line cap per authored file, enforced
1
published port per deployed tier

The schema counts come from the bootstrap job — see the schema page.

Design

Why offline-first

The cube is physical

A phone loses signal on a train and the cube is still in your hands. Scanning, planning and solving never touch the network, so they cannot fail with it.

Verify or refuse

The planner throws if any stage postcondition fails. The app would rather offer the quick solver than show a plan it cannot prove.

Never assume the cube

A session is downgraded to re-scan-required on reload, and again after five minutes hidden. The user may have turned the cube while the phone was in a pocket.

Offline is free, and says so

With no backend nothing is ever charged. Two designs that pretended to bill offline use were deleted rather than shipped.

Contents

Explore the docs

Type to filter — the same live-filter component any page can use.

No pages match — try a broader word.