Global Search
Published Jul 8, 2026
Praxis924's curriculum grows fast: every technology holds several frameworks, and every framework holds a stack of AI-generated lessons, each with four sections and a set of exercises. Once you have more than a handful of published lessons, clicking down through Technology -> Framework -> Lesson to find one thing gets slow. Global Search fixes that. It gives every learner (and admin) one box that reaches across the entire curriculum, so you can type what you're after and jump straight to it. This walkthrough shows you how to use it well.
What you'll need
Nothing special. Global Search is available to any signed-in user at /search. It searches published lessons across all technologies and frameworks, so:
- If you're a learner, you'll see the same published curriculum you browse in
/learn. - If you're an admin, remember that lessons still in
draft(not yetpublished) won't surface here — publish them first from the/adminconsole.
That's the only real prerequisite: the thing you're looking for has to exist and be published.
How to search the curriculum
-
Open search. Go to
/search, or use the search entry point in the top navigation from anywhere in the app. You don't need to be on a particular lesson or framework first — search is global. -
Type a concept, not a location. You don't have to remember which technology or framework a topic lives under. Type the idea itself: a keyword like
pagination, a concept likecosine similarity, or part of a lesson title. Search looks across the curriculum rather than a single framework's timeline. -
Scan the results. Matches come back grouped so you can tell what you're looking at, with the lesson's place in the hierarchy shown as context. That framework/technology breadcrumb is what lets you disambiguate two lessons that mention the same term for different reasons.
-
Jump straight in. Click a result to land directly in the focused lesson viewer for that lesson. From there you read the four sections, open Practice / Code in the
/practice/[lessonId]workspace, or hit Ask Lucy to have the AI teacher explain it with that lesson's own content in view. Search is the shortcut; the rest of the app takes over once you arrive.
Tip: Treat search as your primary navigation once the library is large. It's almost always faster to type the concept than to walk the Technology -> Framework -> Lesson tree by hand.
Search smarter
A few habits make results sharper:
- Start broad, then narrow. Search a single strong keyword first (
embedding), see how many frameworks it spans, then add a word to cut the list down (embedding dimension). - Search the vocabulary the lessons use. Lessons are written in plain technical language, so the terms you'd expect in a lesson body tend to match best.
- Use it to avoid duplicates. Before an admin drafts or a learner submits a community contribution, search first to see whether a lesson on that concept already exists.
When it goes wrong
Most empty or surprising results trace back to one of a few causes:
| Symptom | Likely cause | What to do |
|---|---|---|
| No results for a lesson you know exists | The lesson is still draft, not published | Publish it from /admin; search only reaches published content |
| A brand-new lesson doesn't appear | It hasn't finished generating (generation_status not yet generated) | Wait for the DBOS generation workflow to complete, then publish |
| Too many loosely related hits | Query term is too generic | Add a second, more specific word to narrow the match |
| Search page won't load / API errors after a deploy | Nginx proxy_pass trailing-slash trap sending /api/v1/* to 404 | An ops issue, not a search bug — verify the host Nginx config |
Note: Global Search is a discovery tool over what's already in the curriculum. It doesn't generate new lessons. If a concept genuinely isn't covered yet, that's a signal to create and generate a lesson for it in /admin (or submit it as a community contribution), not a search failure.
What you get
Once Global Search is part of your routine, the curriculum stops feeling like a tree you have to climb and starts feeling like something you can address directly. You type a concept, you're in the lesson. From that landing point every downstream feature is one click away:
- Read the lesson in the focused viewer, sources cited inline.
- Practice the exercises and run the coding challenge in
/practice/[lessonId]. - Ask Lucy for a grounded explanation anchored to that exact lesson.
- Track it: completing it and passing its challenge flows into your progress summary and the spaced-review schedule that resurfaces it later.
Next
Make /search your default way in. The next time you're mid-lesson and a term you half-remember comes up, don't scroll the timeline hunting for where it was taught, search it, jump to that lesson, and let Lucy tie the two together. As the library keeps growing, the search box is the one entry point that scales with it.