Inspiration
Students usually submit an answer after the interesting thinking has already disappeared. By the time a teacher sees the final response, the learner's prediction, uncertainty, failed model, and moment of revision are gone.
Perception Learning makes that reasoning visible while there is still time to help. It turns source-linked science lessons into a continuous loop:
teacher assignment → learner forecast → controlled experiment → evidence → explanation → teacher response
What it does
Perception Learning is a curriculum-linked science workspace for learners and teachers.
Learners can:
- browse 18 guided sections across OpenStax Physics, Biology 2e, Chemistry 2e, Anatomy & Physiology 2e, plus a Learning AI course;
- read layered explanations with direct source attribution;
- save private field notes and generate bounded study questions;
- commit a forecast before seeing a simulation;
- manipulate one variable at a time in deterministic evidence labs;
- compare their prediction with the observed trace, explain the mechanism, and revise their mental model;
How we built it
The frontend uses React, TypeScript, and Vite. A Cloudflare Worker serves the application and API, while Cloudflare D1 persists notes, experiments, forecasts, lesson progress, classroom sessions, assignments, evidence events, and interventions. InsForge provides account authentication. Server-side model calls keep credentials out of the browser.
GPT-5.6 and Codex support user-requested lesson generation and structured simulation selection. NVIDIA generates bounded study questions, multiple-choice questions, and note answers. Workers AI and reviewed deterministic builders provide resilient fallbacks.
The central safety and quality decision is: AI proposes; deterministic code proves.
AI never writes JavaScript that executes in the learner's browser. It can select only from nine reviewed runtime IDs and produce learner-facing framing. The Worker hydrates a versioned SimulationSpec from server-owned definitions, rejects unknown IDs or parameter drift, and runs imported TypeScript engines. The same numeric samples drive the animation, graph, accessible evidence table, debrief, and saved record.
How we used Codex and GPT-5.6
Codex accelerated the work that required the most cross-domain reasoning:
- turning the product thesis into a coherent teacher/learner information architecture;
- mapping source-linked science sections into forecast-first deterministic models rather than generic quizzes;
- designing the sandboxed simulation contract and scientific evaluation cases;
- implementing the Worker, D1 schema, migrations, classroom delivery loop, authentication integration, and integration tests;
- auditing the product and replacing simulated delivery with role-aware sessions, real join codes, privacy defaults, and responsive browser QA;
- refining the visual system across desktop and mobile.
GPT-5.6 is used through strict structured outputs to create guided lesson material and select from reviewed simulations. The application validates the model response and hydrates all scientific controls, units, bounds, assumptions, calculations, and graph series from its own registry.
Challenges we ran into
The hardest problem was preserving the flexibility of generative AI without allowing generated scientific behavior to become unauditable. We solved that with a narrow structured contract, allow-listed runtimes, server-owned physics and science definitions, and deterministic verification tests.
The second challenge was closing the classroom loop honestly. A teacher-side activity feed is not delivery. We implemented role-bound sessions, learner inboxes, persisted assignment state, opened/completed reconciliation, and delivered interventions so the entire loop survives a reload.
The third challenge was privacy. Rather than infer mastery, attention, or diagnoses, the dashboard presents observable actions and explicit learner signals. Notes remain private by default.
Accomplishments that we're proud of
- A working, coherent learner and teacher experience rather than a standalone AI demo.
- Nine reviewed interactive simulation runtimes with deterministic reference behavior.
- A real assignment-to-evidence-to-intervention loop backed by persisted data.
- 18 source-linked curriculum sections and multiple book-specific labs.
- Keyboard, touch, responsive, and accessible evidence views.
- Automated Worker/D1 integration tests, schema validation, scientific evaluations, and production builds.
- A resilient reference mode that remains useful when model access is unavailable.
What we learned
The most useful educational AI does not need to replace the learning activity. It can choose, frame, and summarize while inspectable software produces the evidence. We also learned that honest empty states are more persuasive than demo data: a classroom becomes credible when every learner and metric can be traced to an actual persisted action.
What's next
Next steps include district-grade identity and roster integrations, configurable retention and consent controls, teacher-authored simulation templates, collaborative evidence review, additional reviewed runtime libraries, and classroom pilots that measure whether forecast-first investigations help teachers intervene earlier.
Try it
- Live demo: https://perception-learning.perception-learning.workers.dev
- Source code: https://github.com/Developer668/Perception-Learn
- Track: Education
The repository includes complete setup, verification, deployment, and judge-ready walkthrough instructions.
Judge availability note
The public site is deployed at https://perception-learning.perception-learning.workers.dev. The hackathon API credits have been exhausted, so model-backed lesson, question, answer, or simulation-generation actions may currently report that generation is unavailable. The source-linked library, reviewed deterministic simulations, learner evidence flow, and product interface remain testable without model credits. If the hosted route itself is temporarily unavailable, the public repository includes complete local setup instructions and a deterministic reference mode that does not require an AI API credit balance.
Built With
- cloudflare-d1
- cloudflare-workers
- cloudflare-workers-ai
- codex
- gpt-5.6
- insforge
- nvidia-nim
- openstax
- react
- typescript
- vite