Quink
An engine for building quizzes, diagnostics, assessments and calculators.
The problem
Quizzes, diagnostics, assessments, calculators, recommendations. These formats share the same mechanics: show a question, store an answer, move through the flow, produce an outcome. Quink treats them as several configurations of one engine, not several separate products.
Creators configure questions, rules and outcomes. They test their draft, then publish a version participants can open without an account.
Several products, one engine
Each mode is a preset, not a separate build.
- Personality quizzes and radar profiles: a dominant axis or several dimensions.
- Scored quizzes, assessments, exams: a score or level against thresholds.
- Diagnostics: a decision tree.
- Recommendations: a ranked set of options.
- Checklists and surveys: simple input collection.
- Calculators: formulas applied to numbers.
- Conditional documents: personalised content from the answers.
The deterministic core
The engine is a pure TypeScript library, independent of Next.js and the database. A preset combines navigation, outcome resolver and rendering. Three navigations, seven resolvers, ten output types are enough to cover every mode.
- Same answers, same seed, same outcome, every time.
- The editor and the public flow run on the same engine.
- The server rechecks every outcome before saving it.
- Expressions go through a dedicated parser, no eval.
- Adding a mode means composing existing strategies.
From editing to participation
The editor offers a guided or expert view. Conditional flows are built in a visual graph and tested instantly in a simulator.
Publishing turns the draft into a fixed version. Answers stay attached to that version even if the draft changes afterward. Participants answer without an account and receive a profile, score, report or document depending on the mode.
The product includes a public gallery, CSV import and export, PDFs, shareable images, and optional AI integrations. Available in French and English for now.
Outcome
Quink is the project where I work most on product architecture. The rule: a new format extends the registry and reuses the engine, it doesn't create a second system.