Inspiration

When new evidence arrives, a learner can quietly rewrite the answer and lose the most revealing part of the process: what they believed under uncertainty, what they expected to observe, and why the evidence did—or did not—change their judgment.

I wanted to preserve that moment without turning it into a score or a personality judgment. Before the Clue treats revision itself as the learning artifact.

What it does

Before the Clue is a short causal-reasoning practice built around an irreversible evidence boundary.

The first case begins with an ambiguous result: a student club introduced reminders, moved its meeting, and attendance increased. Before seeing a new comparison, the learner commits to:

  • a causal claim and confidence from 0 to 100;
  • a plausible alternative explanation;
  • a comparison that could separate the competing explanations;
  • a prediction about what that comparison will show.

The default route uses editable statement cards, so completing the guided path does not require a wall of typing. Learners can still switch to their own wording at every substantive step. No option is marked correct, and confidence records judgment rather than proximity to a hidden target.

Only after the commitment is sealed does the app reveal a parallel program where reminders changed but meeting time stayed fixed. Attendance stayed flat. The original response is now permanently locked: reload, browser Back, local recovery, retries, and offline operation cannot rewrite it.

The learner may keep or revise the claim and confidence, then explains how the comparison affected the judgment. A deterministic Reasoning Diff places the sealed and revised records side by side. It describes what changed without grading the direction or size of the revision.

Feedback audits specific reasoning moves. Every positive or partial finding must point to an exact passage from the learner's response. If the system cannot support an assessment, it returns a bounded field note instead of inventing insight.

The learner next applies the method to a store that changed both its purchase button and advertising campaign. That response is sealed before the app names the shared causal roles across the two cases. A third bus-lane and fare case then checks immediate application after the alignment. Only after that commitment does the app reveal a direct debrief: what each comparison supports and what it still cannot prove.

The complete route is: Commit → Predict → Compare → Revise → Apply → Align → Check

There is no overall score, streak, leaderboard, or judgment of intelligence. The result is a versioned reasoning record.

Why the learning sequence looks like this

During development, GPT-5.6 in ChatGPT helped review and cross-check research on four ingredients that fit the problem; the demo refers to this research collaborator as ChatGPT Sol:

  • explicit prediction before a surprising outcome;
  • focused self-explanation after new evidence;
  • elaborated feedback instead of a bare right/wrong signal;
  • comparison of analogous cases and alignment of their shared structure.

The design was informed by work on prediction before expectancy-violating outcomes (https://pmc.ncbi.nlm.nih.gov/articles/PMC9722848/), induced self-explanation (https://doi.org/10.1007/s10648-018-9434-x), elaborated computer feedback (https://doi.org/10.3102/0034654314564881), and learning through case comparison (https://doi.org/10.1080/00461520.2013.775712).

Those sources shaped design hypotheses, not efficacy claims. They do not prove that one session improves critical thinking or durable transfer. That boundary changed the product: the second case is called guided application, not blind transfer, and the third case is described only as an immediate check.

How I built it

Codex turned the product constraints into an executable and testable system:

  • a typed F0–F9 reducer instead of ad hoc page navigation;
  • immutable v1 and v2 reasoning snapshots;
  • lock and recovery invariants for reload, Back, retry, and stale events;
  • versioned public scenario content separated from the server evaluation key;
  • deterministic Reasoning Diff, structural-alignment, and final-check records;
  • local persistence with corruption and version recovery;
  • adversarial unit, contract, browser, accessibility, and mobile tests.

The application uses React, TypeScript, Vite, and Node.js. Analysis providers share one validated contract:

No provider controls navigation, unlocks an answer, reveals evidence, completes the role mapping, or exposes the final summary. The public judge route requires no account, API key, or runtime model call and can be completed offline after the first page load.

Challenges I faced

Making “sealed” actually mean sealed

Disabling a form was easy. The difficult part was preserving the boundary through browser history, corrupted storage, schema changes, late asynchronous responses, and reloads during analysis. The sealed snapshot—not the current screen—is now authoritative, and recovery can only move forward once it exists.

Giving honest feedback to weak or hostile input

A learner can submit careful reasoning, unrelated text, prompt injection, a one-word answer, or profanity. Repeating “not enough relevant text” under five headings looked personalized but communicated nothing. The final contract collapses unauditable output into one neutral result. Demonstrated or partial components require an exact, unique source passage; invalid analysis becomes fallback guidance rather than a fabricated judgment of the learner.

Reducing typing without making the lesson decorative

The first version placed too much weight on text boxes. Statement cards now compose the same persisted response contract while an optional custom-writing path remains available. The second-case response is sealed before structural labels appear, so the learner still has to make a meaningful commitment before the shared principle is taught.

## Accomplishments I am proud of Before the Clue captures something most learning tools erase: the learner’s reasoning before the answer becomes obvious. It preserves the original claim, alternative explanation, proposed comparison, and prediction, then places them beside the learner’s response to new evidence.

The accomplishment is not simply locking a form. It is making revision visible without grading whether the learner changed their mind in the “correct” direction. Across all three cases, the product protects the same sequence: commit first, encounter evidence second, and only then compare, revise, or generalize.

What I learned

The most important object in this product is not a feedback paragraph. It is the history the learner cannot retroactively edit.

I also learned that more writing is not the same as more reasoning. A compact prediction that new evidence can challenge is more useful here than another generic reflection field.

Finally, the engineering and educational boundaries turned out to be the same problem. A provider failure must not become a judgment of the learner, and research supporting an interaction ingredient must not become a claim that the assembled product has already produced a learning gain.

What’s next

The next step is evaluation, not more decoration. I would begin with cognitive interviews and independent content review, then compare the complete sequence with an active, time-matched read-then-explain condition. Learners would answer multiple unseen cases scored blind to condition, followed by another unseen set after a delay. If that evidence supports the interaction, the next product step would be teacher-reviewed case packs for science and media literacy.

Built With

Share this project:

Updates