Projects

Project · MVP

Ink-on-bone engraving: on the left a rigid fixed column of identical question-cards drawn faint and grey; on the right the same cards form a branching decision tree with a single indigo path forking at each node and converging on one target node at the bottom — a fixed form versus an adaptive path that narrows to the answer.

Adaptive Interview Engine

A form asks everyone the same questions, in the same order. This does the opposite: it treats each question as a measurable asset — with an informational value, a cognitive cost, and a performance history — and, at every step, asks the one that most reduces its uncertainty about whoever is answering. Two people chasing the same result get different sequences, and the interview stops on its own as soon as the system is confident enough.

Adaptive Interview Engine landing in a browser: a dark UI with the headline 'How many questions does it take to understand someone?', a short adaptive-interview description, a 'Start interview' button, and three stat tiles for interviews completed, overall accuracy, and questions per interview.

The hypothesis

The MVP exists to test one question: is it possible to correctly infer a human preference using just a few adaptive questions? The preference interview is the first demonstrable use case of an engine that, ultimately, optimizes any question flow — from a product-recommendation quiz to an onboarding.

What it does

  • Bayesian question selection. At each step it computes the expected information gain of every candidate question and asks the one that removes the most uncertainty, weighted by what it has learned about that question.
  • Stops on its own. The interview ends as soon as confidence crosses a threshold, or once it hits the question cap (max. 10) — short for easy reads, longer only when it needs to be.
  • Learns from every answer. Per-question weights and likelihoods are calibrated from all users (Dirichlet prior, ground-truth mode), aggregated per domain on the server.
  • Content-agnostic. The same core runs across 21 bilingual domains (movies, music, books, travel, investing…), 5 categories each — you swap the question bank, not the engine.

It optimizes its own questions

The differentiator isn't only choosing the right question, but improving the questions themselves. Each one can have several wordings (the original plus AI-generated variants); the system measures, per wording, the information per cost (bits of uncertainty removed ÷ response time), promotes the winner, and retires the worst automatically — an A/B test that runs and decides itself with no manual intervention. Variants are generated (via OpenRouter) across 5 reading-complexity levels, from the simplest register to the most sophisticated, paving the way to adapt the language to the audience.

Status

Early MVP, built to validate the hypothesis. Bilingual (Português / English). Source is open at rafaehlers/adaptive-interview-engine.

Built with

React 18TypeScriptViteTailwind 4Node + ExpressOpenRouter