Realtime voice
OpenAI’s gpt-realtime-2.1-mini handles spoken interaction, turn-taking, and tutoring dialogue in the current implementation.
Conversation selects a teaching action
CHALK separates conversation, lesson generation, and drawing—then connects them around the state of the visible whiteboard.
OpenAI’s gpt-realtime-2.1-mini handles spoken interaction, turn-taking, and tutoring dialogue in the current implementation.
OpenAI’s gpt-5.6-luna produces bounded lesson steps with explanation text and drawing operations in the current implementation.
Renders equations, graphs, and diagrams, and tracks what is visible.
The shared context: a compact description of the committed board flows back into the tutoring conversation.
Adding a later lesson step should preserve the position of elements already on the board. The renderer is designed around stable, accumulating layout.
Board context describes accepted, visible elements rather than the intended lesson plan. The conversation can refer to the same picture the student sees.
Drawing instructions pass through schema, expression, reference, and budget checks. The browser also checks the expressions it draws.
Interruptions pause the lesson. Request identity and cancellation controls help prevent stale work from changing the active board.
The repository documents the architecture, milestone evidence, local setup, and known limitations. It is the technical source of truth for the current prototype.
The current implementation uses OpenAI models; Claude is not integrated. The full tutor currently runs locally. The public site runs static interactive examples, with no live AI session, student accounts, or hosted voice service. Broader testing and product development remain part of the next stage.
I welcome technical collaborators working on voice, visual interfaces, and learning systems.