Build journal
APPCommunity 4 min read

Community Contributions

Published Jul 10, 2026

Know a topic cold? Submit a lesson for review — approved contributions join the curriculum, credited to you.

Praxis924's curriculum grows two ways: admins AI-generate lessons, and the community writes them. If you know a topic cold — a framework quirk, a pattern you've taught a dozen times, a gap you keep hitting in the library — you can submit it as a lesson. An admin reviews it, and once approved it joins the published curriculum, credited to you. This walkthrough covers the whole path: writing a submission at /contribute, what the reviewer sees at /admin/contributions, and what happens to your lesson after approval.

Who this is for

Any signed-in learner can contribute — you don't need admin rights. It helps to have finished a few lessons first so you know the house style: a Praxis924 lesson is built from four sections (main_explanation, practical_explanation, key_principles, summary) plus a handful of exercises (mcq, fill_blank, calculation). You're writing to that shape, so your submission slots cleanly into the reading and practice flow learners already use.

What you'll need

  • A verified account (register + confirm your email). Contributions are tied to your identity because approved lessons are credited to you.
  • A topic that belongs under an existing Technology → Framework path. Knowing where your lesson lives helps the reviewer place it.
  • A rough draft of the four sections and a few exercises. You don't need them polished to publication grade — that's what review is for — but the clearer the draft, the faster the yes.

Step 1 — Open the contribute form

Go to /contribute. This creates a LessonContribution — a draft owned by you, separate from the live curriculum. Nothing you type here is visible to learners yet; it sits in a review queue until an admin acts on it.

Step 2 — Write the lesson

Fill in the four sections in order. Think of them as a teaching arc, not four disconnected blobs:

  • main_explanation — the core concept, explained plainly. Assume the reader is new to this specific idea but not to programming.
  • practical_explanation — show it in use: a real snippet, a concrete scenario, the "here's when you'd reach for this" part.
  • key_principles — the handful of rules or mental models that stick after the details fade.
  • summary — a tight recap that reinforces the takeaways.

Then add exercises. Mix the kinds so learners get variety: mcq for recognition, fill_blank for recall, calculation for anything numeric. A few well-aimed questions beat a long quiz.

Tip: Write the way the AI-generated lessons read — direct, example-first, no filler. Consistent voice across the library is a feature, and it makes your lesson easier to approve as-is.

Step 3 — Submit for review

Submit when the draft is coherent. Your LessonContribution now enters the admin queue. You can move on; there's no live back-and-forth required at this stage.

Step 4 — What the reviewer does

An admin opens /admin/contributions and reads your submission against the same bar every lesson meets: accurate, well-scoped, correctly placed in the syllabus, and clean across all four sections and its exercises. The reviewer can approve it into the curriculum or send it back. On approval, the lesson joins the published library under its Technology → Framework path, moves into published status, and carries your credit.

When it goes wrong

Most rejections are fixable and come down to a small number of causes.

SymptomLikely causeFix
Sent back for revisionA section is thin, or an exercise is ambiguousFlesh out the weak section; make each question have exactly one defensible answer
Placement questionedTopic doesn't fit the Framework you choseRe-scope to the right Technology → Framework, or narrow the lesson
Duplicate flaggedThe library already covers thisDifferentiate — go deeper, or pick the sub-topic that's genuinely missing
Stuck as a draftNever actually submittedReopen /contribute and submit; a saved draft isn't in the queue

Note: Approval is a human decision, not an automated pass. A reviewer weighing accuracy and fit is exactly what keeps the curriculum trustworthy — treat revision requests as the system working, not as a rejection of you.

What you get

When your contribution is approved it becomes a first-class lesson: learners browse it in /learn, read it in the focused viewer, practice its exercises in /practice/[lessonId], ask Lucy about it (she folds the lesson's content into her answers), and see it in progress tracking and spaced review. Because it's a published lesson, it also flows into the content pool export — the git-friendly Markdown + quiz YAML bundle — so your work can travel to other Praxis924 instances too. And your name rides along with it.

Next

  • Start small: contribute one lesson that fills a gap you personally hit. A single sharp lesson is worth more than a sprawling half-finished one.
  • After it's live, open it as a learner and run the exercises yourself — the fastest way to spot a confusing question is to answer it cold.
  • Found a problem in someone else's lesson? Use the issue-report and discussion tools on the lesson instead of resubmitting — reviewers see those too.
Published in build journal