Build journal
AI FEATUREAI 4 min read

Lucy — Your AI Teacher

Published Jul 10, 2026

A streaming AI chat that grounds itself in the exact lesson you opened it from — ask anything, get answers from that material.

Lucy is Praxis924's AI teacher: a streaming chat that answers your questions in plain language and, crucially, knows which lesson you're reading. Open her from a lesson and she folds that lesson's own content into her working context, so instead of generic textbook answers you get explanations that quote and build on the exact material in front of you. This walkthrough is for learners who want a study companion that stays on-topic, and it shows you how to open Lucy the right way, ask good questions, and recover when something goes sideways.

What you'll need

  • A registered, verified account (Lucy is login-gated, like the rest of /learn).
  • A published lesson to ground her in. Draft lessons that are still generating won't give her material to cite.
  • Nothing to install or configure. Lucy runs on the same LLMService the rest of the platform uses, so provider keys and failover are handled server-side.

Note: Lucy works as a free-floating chat too — you can just open /chat and ask anything. But her superpower is grounding, and that only kicks in when you launch her from a lesson.

How to open Lucy grounded in a lesson

  1. Browse to /learn and open any published lesson in the focused lesson viewer (/learn/lessons/[id]).
  2. Read until you hit something you want unpacked — a line in main_explanation, a step in practical_explanation, a term in key_principles.
  3. Click Ask Lucy in the lesson viewer. This routes you to the chat with the lesson attached (/chat?lesson_id=...), which creates a ChatSession carrying that lesson_id.
  4. Lucy loads with the lesson's section content already folded into her system prompt. You don't paste anything — ask your question directly and she answers with the lesson in view.

The difference is immediate. Ask "why does this matter?" in a generic chat and you get a generic answer. Ask it in a grounded session and Lucy answers using this lesson's framing, referencing its sections rather than inventing her own examples.

How to get better answers

  • Be specific about the section. "Explain the second point under key principles" beats "explain this." Lucy has the whole lesson, so pointing her at a part sharpens the reply.
  • Ask her to reframe, not just repeat. "Give me a real-world analogy for the summary" or "walk me through the practical example one step slower" plays to her strength.
  • Chain follow-ups. The session keeps context, so you can drill down: definition → example → edge case → quiz-me. She streams token-by-token over SSE, so long answers appear as they're written — you can start reading before she finishes.
  • Use her before you hit /practice. Clear up the concept with Lucy, then go do the interactive exercises for that lesson. Understanding first, drilling second.

Tip: Keep each question tight. Lucy's grounding context is capped at roughly 3,000 characters of lesson content — that cap protects tokens-per-minute so she stays fast and stays available. A focused question uses that budget well; a sprawling one wastes it.

When it goes wrong

Lucy has personality and safety guardrails, and every exchange is audit-logged, so she'll decline off-topic or unsafe requests by design — that's not a bug. For the things that are fixable, here's the quick triage:

SymptomLikely causeWhat to do
Answers are generic, don't cite the lessonYou opened plain /chat, not via Ask LucyGo back to the lesson and use the Ask Lucy link so the session carries lesson_id
Lucy references only part of the lessonLesson exceeds the ~3,000-char grounding capPoint her at a specific section by name instead of asking about the whole lesson
She won't answer a requestSafety guardrails / off-topicRephrase within the learning scope; she's built to stay on task
A reply stalls mid-streamTransient provider hiccupResend — LLMService fails over across providers automatically
Brand-new lesson gives thin answersLesson still draft/generating, or no content yetWait until it's generated and published, then reopen Lucy

The failover point is worth underscoring. Lucy doesn't ride a single model. LLMService walks a provider priority chain and moves on when one is rate-limited or down, so a quota wall on one provider doesn't take her offline. You may notice a brief pause; you shouldn't notice an outage.

What you get

Used well, Lucy turns a static lesson into a conversation. You read the four sections, and when a line doesn't land you ask the teacher who already read the same page — she explains it in the lesson's own terms, streams the answer live, and keeps the thread so you can go deeper. Grounding keeps her honest, the character cap keeps her fast, guardrails and audit logging keep her safe, and provider failover keeps her online.

Next

  • After a Lucy session, jump to /practice/[lessonId] and put the concept to work in the exercises.
  • Save the good bits: attach a personal note to the section Lucy clarified so it's there on your next pass.
  • When you feel solid, take the lesson's coding challenge or a mock interview to pressure-test what you learned — then come back and ask Lucy about anything you missed.
Published in build journal