All cases

2026-03 · CRSS Exam Prep

An exam-prep pipeline for a community-college course, from one item bank to every printed page

A syllabus, a study guide, weekly quizzes, a practice mode, and a review workbench, all generated from one canonical item bank, so the instructor edits a question once and every surface follows.

Data pipelinesStakeholder workShipping under constraint

62

merges on the surface

n/a

items in the bank: no metric captured

n/a

students served: no metric captured

Problem

Exam-prep material drifts: the guide says one thing, the practice quiz another, and the instructor maintains both by hand.

Constraint

The instructor is a subject-matter expert equipped with general-purpose office software, not a developer. The output had to be printable and editable in Word, not only a web app.

Decision

One item bank as structured data, everything else generated: a study-guide module pipeline (#149), a Markdown-to-DOCX converter for the printed guide (#152), an exam-prep hub with a practice mode and a domain explorer (#158), and an SME review workbench with AI-assisted item regeneration (#166). The expert edits the bank; the build does the rest.

Rejected

  • Hand-authored guide plus a separate quiz

    This is the drift problem restated.

What shipped

An item bank with inline review, a study guide on the web and in DOCX, a syllabus in Markdown and PDF, a practice mode, a domain map, the SME workbench, and a Fall 2026 rollout with a diagnostic and a semester-aware UI.

What I'd do differently

The bank's cognitive-level tags arrived in mixed casing, and the pipeline treated the variants as different levels until #170 normalized them. Validate the enums at the bank boundary before a hundred items depend on them.

If you ask me about this

How do you hand a tool to a non-technical owner?
Make the thing they edit a plain data file and make everything else generated. They never touch the build.

Evidence

  1. Add CRSS Reveal page at /crss route

    #122 · 2026-03-25 · feature

  2. Add CRSS Summer 2026 course syllabus (.md and .pdf)

    #133 · 2026-03-31 · feature

  3. Add public item bank review page with inline editing at /crss/bank

    #136 · 2026-03-31 · feature

  4. Add CRSS study guide module architecture and generation pipeline

    #149 · 2026-04-01 · infra

  5. Add Markdown to DOCX converter for CRSS Study Guide

    #152 · 2026-04-02 · feature

  6. Add CRSS exam prep hub with practice mode and domain explorer

    #158 · 2026-04-02 · feature

  7. Add CRSS SME Review Workbench with AI-powered item regeneration

    #166 · 2026-04-03 · feature

  8. fix: normalize cog_level casing in CRSS item bank

    #170 · 2026-04-03 · bugfix

  9. crss: finish Fall 2026 rollout (syllabus PDF, diagnostic, semester-aware UI)

    #428 · 2026-05-17 · feature

Receipts

Checked at build against the published corpus.

  • Every cited PR exists in the published corpus9 / 9
  • Pending PRs are named as pending, never passed off as mergedall merged
  • Cited PRs sit in the case's disciplinesCRSS Exam Prep
  • Numbers with no source say so2 unmetered

www.jakelawrence.xyz/research/case-study-library/crss-exam-prep

Cite: Lawrence, J. (2026). An exam-prep pipeline for a community-college course, from one item bank to every printed page. jakelawrence.xyz case study library.

Need something like this built?

I design and ship AI tools, full-stack apps, and data pipelines — end to end, to production. Tell me the problem in a sentence; I'll give you an honest read on fit within a day.

Work with me →