Problem. A quiz asks what happens to the dunes after the dry season. A learner answers "they get firmer". That is correct, because they remember the last line of the lesson, and the quiz gives full marks. It cannot see that the learner doesn't know why, or that they believe one step backwards. On a score sheet, a remembered answer and an understood chain look the same, and a teacher rarely has time to read every explanation and find the broken link.
What it does. Causeway gives the learner a short passage about a fictional system, so nobody can answer from memory, and asks them to explain it in their own words. It turns the explanation into a map of cause-and-effect links: found, reversed, missing, and shortcuts, which are true conclusions that skip the steps in between. Then it poses a what-if the passage never describes, asks for a prediction, and runs the learner's own explanation on it, link by link. "Right answer, but your explanation doesn't get there yet" is a different result from "Explained". A Socratic question targets the first broken or reversed link. The learner answers in one sentence and the chain runs again until it reaches the end.
Users. Learners in secondary school and early university who study cause-and-effect systems such as food webs, markets, climate or the body. Also tutors who want to see which link a learner is missing or has backwards.
Technical approach. The model reads; the code reasons. In local model mode, a small open model (Llama 3.2 3B by default) runs in Ollama on the same laptop and extracts claims as JSON. A schema limits it to the topic's factor IDs, and each claim must include a quote from the learner's text. A checker drops any claim whose quote is not in the text or whose factors are unknown, and ignores sentences copied from the passage. A classifier compares the claims with the topic's reference chain using path search and sign products. A qualitative simulator pushes up/down changes from the what-if through the learner's chain. A planner picks the first problem on the path; the model may word the question, but code rejects any question that contains answer words and falls back to a pre-written one. Offline sample mode is the default and is clearly labelled: keyword rules from the topic file replace the model and the questions are pre-written, so anyone can click through with no key, no account and no internet. Built with Python, Flask, vanilla JavaScript and SVG. Everything runs locally. In this build, local model mode is covered by tests against a stand-in Ollama server; a real model run was not recorded.
Impact (intended). Causeway is designed to make the gap between a remembered answer and an understood chain visible to the learner at the moment it matters, and to point practice at the exact link that is missing or backwards. Because it runs on one laptop without accounts, learner text stays on that computer. These are design goals. The project has not been tested with learners and reports no measured results.
Limits and next steps. This build has one fictional topic. The offline rules miss negation and pronouns. A small local model can misread a sentence; the checker catches invented quotes, but not every wrong direction. Next: more topics, chains with competing effects, and more what-ifs per topic. Causeway runs locally and is not deployed.
Built With
- css3
- flask
- html5
- javascript
- ollama
- pytest
- python
- svg
Log in or sign up for Devpost to join the conversation.