What This Prototype Proves—and What It Still Owes Learners

The central question around yczz/oc-english is not whether an English app can be made cute. It is whether a correct answer can become a visible, durable, and meaningful consequence without being mistaken for proof of mastery. This final synthesis brings together the project’s embedded content, constrained assessment, point economy, character and room, local assistant, and Rust/JavaScript architecture. It gives a conditional judgment: the repository demonstrates a coherent way to make study effort consequential, but it does not yet demonstrate that the consequence produces durable language learning, sustained motivation, or the larger emotional world described in its design document.

That distinction is not a retreat from the project’s ambition. It is the condition for understanding its real contribution. A prototype can prove that a product mechanism is coherent even when it cannot prove the human outcome the mechanism hopes to produce. oc-english is valuable to study precisely because its mechanism is visible enough to inspect.

The strongest claim is about a chain

The project’s real unit of design is not the quiz card, the shop, or the OC portrait in isolation. It is the transition that connects them. The application starts with content embedded in a local desktop program. It turns a word or grammar point into a constrained choice. It records a successful result against a book and unit. It makes an exam available after the unit’s word coverage is complete. It turns a passing or improved exam into points. It lets the learner spend those points on a character or room. The result is saved so that the choice remains visible after the session ends.

The chain can be stated as a ladder of claims:

flowchart LR A["Implemented: embedded content and constrained practice"] --> B["Implemented: persisted word progress and exam result"] B --> C["Implemented: points and customization"] C --> D["Implemented: local assistant and durable profile"] D --> E["Supported interpretation: effort becomes visible and consequential"] E -. "needs new evidence" .-> F["Retention, transfer, motivation, and attachment"] G["Design direction: hunger, mood, and social play"] -. "not shipped" .-> E

Each solid step is supported by a different part of the repository. The content registry and bundled data give the application a defined learning universe. The question engine gives the learner a repeatable set of decisions. The progress model and exam command turn those decisions into stored state. The point rules connect state to an economy. The profile, character, and room structures give the economy a visible destination. The local assistant reuses the same content and customization boundaries instead of creating a disconnected novelty feature. The Rust command layer saves the result, while the JavaScript interface makes it readable.

Seen this way, the project is doing more than attaching rewards to a flashcard. It is making a sequence of otherwise invisible transitions inspectable. A learner can see that a word has been recorded, that an exam is now available, that a score changed a best result, that points were awarded, and that an item now belongs to a chosen character or room. The product’s distinctive promise is not “a game will teach English.” It is “the application will give study effort a persistent place in an owned world.”

That is the strongest fact-based claim because it describes an implemented relationship rather than a hoped-for psychological effect. The repository shows the state fields, command rules, rendering paths, and persistence needed to make the relationship real. It also shows where the relationship ends. A stored word is evidence of an accepted interaction. A passed paper is evidence of performance on a particular mixture of four-option tasks. A decorated room is evidence that a reward was converted into a visible state. None of those observations alone establishes what a learner can remember or do outside the application.

The architecture strengthens this claim by keeping the transitions connected. The content layer does not merely sit beside the quiz; the question generator reads it. The quiz does not merely display a score; the command layer updates progress and points. The points do not merely accumulate; the shop and equip commands use them to authorize visible changes. The character renderer does not use an unrelated image; it assembles the stored face and outfit state. The room does not merely show a background; it reads a character’s placed furniture and applies spatial constraints. Doudou does not create a second wardrobe protocol; generated art enters the same custom-item and equip path.

This is why the current project should not be dismissed as decoration around education. Decoration would be independent of the learning state. Here, the visual layer is downstream of the state machine.