Brinl
Journal
Machine LearningApril 2026·

Designing Eucliv to respond to student progress

How we are thinking about an algorithm that adjusts more thoughtfully to student progress, pacing, and support over time.

The question we started with

How should a system respond when a student is struggling? Not with more content, not with a harder question, and not with a flag that signals failure. The answer we kept returning to was: more carefully.

Eucliv is built around that idea. The goal is not to pace students faster or measure them more frequently. The goal is to help the system develop a more accurate sense of where a student actually is, and respond to that with something genuinely useful.

Why most adaptive systems fall short

Most adaptive learning tools are built around performance signals. Get a question right, move forward. Get it wrong, review. The feedback loop is direct and legible, but it misses a lot.

Students are not consistent. Attention shifts. Tiredness is real. A student who gets three questions wrong in a row may be struggling with the concept, or they may have had a difficult morning. A system that responds identically in both cases is not really adapting.

Eucliv is designed to hold more context before deciding how to respond. That means looking at pacing, not just accuracy. It means considering how long a student spends on something, not just whether they got it right. It means building a picture over time, not just reacting to the last data point.

What thoughtful adjustment looks like

We think of Eucliv's adjustment logic in three layers.

The first layer is content selection: what should the student see next, and why. This is the most common focus of adaptive systems, and we treat it carefully. We do not want to narrow a student's path too quickly based on early signals.

The second layer is pacing: how much time and repetition does this student need before moving on. This is where we think a lot of adaptive tools miss something important. Faster is not always better.

The third layer is support framing: how should the system present a concept to this student, given what it has observed. This is the most difficult layer, and the one we are most careful about. We do not want Eucliv to make assumptions that reduce a student to a type.

What we are still working through

Designing for student progress means designing for error. Students change. What looked like a pattern last week may not hold today. We are thinking carefully about how the system should hold uncertainty, and how it should surface that uncertainty to teachers rather than hiding it behind a clean interface.