Orion
Learn once. Remember differently.
Orion is a teach-back system that turns a learner's explanation into a visible, reversible learning decision.
It does not remember only the topic. It remembers a confirmed explanation gap, retrieves it after restart, and changes what the learner does next.
The problem
Most learning tools check an answer and show another question. They do not show whether a learner can explain an idea, connect evidence, or use the idea in a new situation.
AI adds another risk. A model can make a convincing but incorrect judgement about a learner. The learner must see the evidence and decide what becomes memory.
What we built
| Orion feature | How we use it | Why it matters |
|---|---|---|
| Goal constellation | Turn a learner goal into a small map of ideas and relationships. | Learning starts from the learner's purpose, not a generic card deck. |
| Quest preview | Give every goal three independent missions: explain, make concrete, and test with evidence. | The learner can inspect any star without starting the task. |
| Teach-back | Accept typed text or an editable local Whisper transcript. | Orion checks reasoning, not only recognition. |
| Evidence review | Score required moves and show evidence, next move, learner confidence, and agent confidence separately. | The learner can understand the result. |
| Memory decision | Let the learner confirm, correct, defer, or dismiss a proposed gap. | The model cannot turn a guess into a permanent label. |
| Adaptive return | Retrieve approved memory after restart and change the next mission. | Memory has a visible effect on future learning. |
| Forget and reset | Tombstone searchable memory or erase the learner partition. | Learning remains reversible and learner-controlled. |
Orion is not a flashcard with a galaxy visual. It creates a visible cause and effect chain: explanation → evidence → learner decision → changed mission.
Product walkthrough
The walkthrough follows the learner's path through Orion: enter the experience, inspect the constellation and quests, then return to the learner Passport.
| 1. Landing page | 2. Constellation and quest |
|---|---|
![]() |
![]() |
| Start with a learning goal and enter the memory field. | Explore the goal map and preview a quest before starting it. |
| 3. Passport | 4. Orion evaluation result |
|---|---|
![]() |
![]() |
| Review the durable learning record and continue learning. | Review evidence, confidence, and bounded hypotheses before choosing what to remember. |
The learning loop
- Enter a goal, outcome, audience, and optional background.
- Review and approve the proposed constellation.
- Choose View quest details for any star.
- Start a teach-back only when ready.
- Review the rubric result and bounded hypotheses.
- Choose what Orion may remember.
- Restart and see the changed mission.
- Forget the memory and compare the baseline path.
An unresolved teach-back can produce at most three hypothesis candidates. The learner can select at most one active candidate. Accepted teach-backs do not create practice stars, and active practice growth is bounded.
How we used the AI agent
| Agent capability | Implementation | Human boundary |
|---|---|---|
| Map proposal | Generates a goal-specific map and three quest contexts. | The learner approves the map. |
| Teach-back evaluation | Returns typed rubric observations, evidence, score, and next move. | The learner decides whether the gap becomes memory. |
| Next-node proposal | Suggests one bounded practice move when a required move is unresolved. | Policy limits active stars and prevents duplicate growth. |
The backend validates model output and allows one schema-repair attempt. The agent cannot approve memory, write arbitrary SQL, choose unrestricted tools, or silently replace a failed live result with mock data.
The agent is useful because it proposes structured learning moves, not because it owns the learner record. Orion keeps the proposal, evidence, policy checks, learner decision, and retrieval trace separate.
Architecture
CockroachDB Cloud is the structured memory source of truth. DVI provides filtered vector retrieval. Managed MCP provides read-only structured context. S3 stores versioned Passport artifacts. Client Whisper keeps raw audio in the browser and submits only edited text.
Service map
| Service | Role |
|---|---|
| CloudFront + S3 | Private frontend delivery. |
| API Gateway + Lambda | Public API and FastAPI execution. |
| Secrets Manager | Server-only credentials. |
| CockroachDB Cloud + DVI | Durable memory and filtered retrieval. |
| Managed MCP | Read-only context retrieval. |
| S3 | Versioned Passport artifacts. |
| OpenRouter | DeepSeek primary chat, Qwen fallback, and embeddings. |
| Client Whisper | Local speech drafting with typed fallback. |
Try it out
The first live connection can take several seconds while Lambda wakes and opens the database connection. Wait for the runtime status to become ready.
For a local proof, run npm ci, then npm run dev -- --host 127.0.0.1, and open
/app?mode=mock&reset=1. The three-minute demo runbook
provides the timed path. The judge evidence checklist
defines which claims require live evidence.
Why it matters
Orion gives a learner a reason for the next step, not only another question. The learner can inspect the task, see the evidence behind a revision, choose what becomes memory, and remove it later. This makes the pattern useful for self-study, onboarding, and training without creating a permanent model-owned profile.
Built with
React · Vite · FastAPI · Pydantic · LangGraph · Amazon S3 · CloudFront · API Gateway · Lambda · Secrets Manager · CloudWatch · CloudFormation · CockroachDB Cloud · DVI · Managed MCP · OpenRouter · client-side Whisper · MkDocs Material
What we learned
AI output cannot be the memory authority. A useful proposal still needs typed validation, evidence, learner approval, and a reversible decision.
Persistence must also be visible. Orion shows the learning event, projection, retrieval filters, changed mission, Passport artifact, and forget result.
Built With
- amazon-web-services
- cockroachdb
- javascript
- python
- rag





Log in or sign up for Devpost to join the conversation.