Independent, prolific, and unbending about the protocol.
Toka Lab publishes its own products, in fields with nothing in common. What connects them isn't a theme — it's a way of building that no project gets to skip.
Five stages, never out of order
A stage doesn't open until the one before it is closed. That rule isn't theoretical: it comes from an interface rebuilt from scratch because it had been made before its visuals.
Rules
Written out in full, edge cases included: deadlock, repetition, draws, running out of time.
Validation
Balance measured across thousands of games, exact solving where the size allows it.
Visuals
Final and approved before a single interface is built.
Interface
Built once, on those visuals. Never twice.
Integration
Engine, network, release — then nine automated checks, any one of which blocks delivery.
Nothing ships on a reading of the code alone
Every delivery is loaded into a real engine and exercised automatically. Nine checks; a single failure blocks the release.
Each of those checks matches a fault that once reached production. Once, and only once — every fault permanently adds a check to the list.
- Script compilesNo dead page
- Referenced elements existNo inert buttons
- Stylesheet intactNo invisible board
- No competing rulesNo overridden layout
- Board geometryNo misplaced pieces
- Links and document endNo dead link, no truncation
Six rules that aren't up for discussion
- Reproduce before fixing
If a fault won't reproduce in a test, the hypothesis is wrong. We look further rather than patch on a hunch.
- The cause, never the symptom
A fix that stacks a rule on top of a faulty one is refused, even if it makes the problem disappear on screen.
- One fix, one more check
Any fault that reached production permanently joins the list of automated checks.
- The name is frozen before the code
No working titles, even internally. Storage keys carry the final name from day one, or user data disappears on rename.
- No two mechanisms for one job
Before adding behaviour, we find what already handles the same thing and neutralise it explicitly.
- Validated means untouched
A frozen decision stays frozen. When a request would reopen one as a side effect, we say so before writing anything.
And six things we'll never add
- Advertising
No banners, no video breaks, no rewards for watching.
- Hidden purchases
Nothing essential sits behind a payment.
- Mandatory accounts
Online play included. No personal data collected.
- Tutorials
If a product needs a manual, it's asking too much.
- A network requirement
The field has no signal, and neither does the train.
- A product we don't like
A prototype stays out of the catalogue until it's good enough.
A question, a bug, an idea?
Messages land with the people who write the rules. A good share of our fixes start there.