Back to Chad Harmer
VLive · verateach.com

An AI teaching workspace that carries a lesson from standards through Google Classroom to returned grades.

I designed and built VeraTeach end to end — the product strategy, the AI architecture, and the systems underneath. It started as lesson generation and became something larger: an integrated workspace spanning planning, standards alignment, assessment creation, classroom publishing, and grading, with the teacher in control at every step.

The short version

Generating a lesson is one step. The product is the workflow around it — grounding, materials, publishing, and grading — collapsed into one workspace, with AI doing the drafting and the teacher keeping the decisions.

The VeraTeach lesson workspace: a generated biology lesson with its class, readiness checks, and materials rail.
A lesson is an object in a workspace, not a document in a chat window — it belongs to a class, tracks whether it is ready to teach, and carries the materials made from it.
The Workflow

The workflow became the product.

Lesson generation is one step. What makes the product is the sequence around it — each stage a deliberate decision about where AI helps and where the teacher stays in control.

  1. 01

    Planning

    A lesson starts inside real structure — course, class, standards — not a blank prompt box. Teachers can write guidance that shapes generation before it runs, or import material they already have.

  2. 02

    Grounding in standards

    Hybrid retrieval grounds the lesson in a 100,000-record corpus of state standards, so alignment is verifiable rather than asserted.

  3. 03

    Review & adaptation

    Standards-aware review checks the lesson before it's taught, and one lesson adapts — shortened block, substitute, ELL — without losing its objective.

  4. 04

    Materials

    Quizzes, tests, worksheets, study guides, exit tickets and handouts generate from the lesson as editable assets the teacher can rewrite.

  5. 05

    Publishing

    A material publishes into Google Classroom — as a native Google Form where it's an assessment, or as a Doc or live link where it isn't.

  6. 06

    Grading

    Submissions come back into a grading workspace. Objective questions score automatically; written answers get AI-drafted suggestions the teacher accepts, edits, or ignores.

  7. 07

    Returning grades

    Approved scores go back to Google Classroom, closing the loop inside the tool the school already runs on.

Suggested standards on a lesson, each with its code, framework, a match rating, and the reason it was matched.
Standards are retrieved from the corpus and proposed with the reason they match — the teacher keeps the ones that fit. Alignment is something the product can show its working for, not a label it asserts.
AI Systems

AI as orchestration, not a single call.

The interesting decisions aren't which model to call. They're how retrieval, generation, routing, and approval fit together so the system stays correct, affordable, and accountable at every step.

One orchestration layer

Every AI capability — retrieval, generation, review, adaptation, material creation, grading suggestions — runs through a single execution seam with retry, timeout, and validation. That seam is where model routing, cost accounting, and evaluation hooks live, so the system improves in one place instead of feature by feature.

A standards corpus worth retrieving from

Alignment is only as good as what you can search. I built and maintain the corpus itself — 144 frameworks across 13 states, 103,934 records, with all 94,036 coded standards embedded for semantic retrieval — from authoritative state sources, each with its own document format and its own parsing failures. Retrieval then filters hard on jurisdiction and grade, ranks by vector similarity, and reranks, so the model reasons over candidates it cannot cross-contaminate across states.

Assessment as a round trip, not an export

Publishing a quiz means creating a real Google Form in the teacher's own Classroom, mapping every question so responses can be read back, matching submissions to students, and returning grades. Getting that loop to close — rather than stopping at 'export to Google' — is most of what separates a demo from a tool a teacher uses on a Tuesday.

Structured, teacher-approved outputs

Every call returns schema-validated output the rest of the system can trust, and every AI change is preview-first — engines persist nothing until a teacher approves. Immutable, trigger-written version history makes each change reversible and attributable.

A generated quiz in teacher view, showing correct answers marked and an explanation beneath a true/false item.
Generated assessments are structured objects, not prose — every item carries its answer key and rationale, the teacher can switch to the student view, and anything here can be rewritten before it goes out.
A material's Classroom panel showing it published to two class periods, with submission counts and a grading action for each.

The loop closes back inside Classroom

Publishing creates a real Google Form in the teacher's own Classroom and keeps the link to it, so submissions come back per class and each one hands off to grading on its own. That round trip — not the export — is what makes this usable on a Tuesday.

Evaluation & Experimentation

You can't ship AI you can't measure.

Evaluation is the part most AI products skip and the part I lean on hardest. Shipping AI teachers can trust means measuring quality deliberately — not eyeballing a few good demos.

Rubric evaluation

Lessons are scored against explicit, evidence-grounded criteria, so “is this good?” has a repeatable answer.

Regression harness

A library of scripted checks runs against real models, catching quality regressions when a prompt or model changes.

Model comparison

Model and prompt variants are compared on quality, latency, and cost — and the results drive the routing policy. One migration cut a workflow from 74s to 18s by measuring rather than assuming.

Corpus verification

Every standards framework is gated by coverage checks before teachers see it — counts, grade spans, and sampled text read back from the database against the source.

Product Decisions

The tradeoffs I made on purpose.

AI suggests the grade; the teacher gives it

Objective questions score themselves. For written work the model drafts a score and a rationale, and stops there — the teacher accepts, edits, or ignores it. Grading is a professional judgment a teacher answers for, so automating the judgment would move accountability to something that cannot hold it.

AI as orchestration, not autonomy

The model drafts; the teacher decides. Preview-first isn't a UX nicety — it's how the product keeps professional accountability with the human who owns the classroom.

Correctness over coverage

Retrieval is bounded to a filtered candidate set even though a broader search would surface more. In a standards-aligned product, a confidently wrong suggestion is worse than a narrower right one.

Own the corpus rather than the integration

Licensing a standards API would have been faster. Building the ingestion meant meeting each state's own PDFs, spreadsheets and quirks — but it means alignment is verifiable, additions cost days rather than negotiations, and no vendor sits between a teacher and whether their lesson is correct.

The grading workspace: objective questions already scored by percentage, a written question with its expected answer, each student response with an empty score field and a suggest-a-score action.
Objective questions arrive already scored. For written work the teacher sees the expected answer and each response with an empty score box beside a suggestion they can ask for — the model proposes, the score field stays theirs to fill. The class shown is seeded sample data, not student work.
In Production

Shipped, not staged.

VeraTeach is a deployed product, not a prototype. A teacher can sign up, subscribe, and use it without talking to me.

  • Authentication with self-serve account recovery
  • Stripe subscriptions and usage entitlements
  • Managed Postgres with pgvector, migrations, and row-level security
  • Google OAuth verified for production use
  • Error monitoring and coverage checks over the standards corpus
Architecture

A real system, built deliberately.

Every layer serves the product decisions above — grounding, evaluation, and teacher control. The stack supports the story; it isn't the story.

Stack
Next.js 16React 19TypeScriptSupabase / PostgresVercel
Data & standards
pgvectorMulti-state standardsAuthoritative ingestImmutable trigger-based versioning
AI orchestration
One orchestration layer across all AI stagesModel-agnostic routing via AI GatewayCost / stakes-based model routingRetrieval where correctness mattersPreview-first, teacher-approved writes
Google Classroom
Verified OAuth with encrypted tokensPersistent period → course mappingNative Google Forms quiz creationPublishing as Docs · Forms · live linksIdempotent re-publishGrades returned to Classroom
Production
Stripe subscriptionsUsage entitlementsAuthentication & account recoveryError monitoring
Key Systems
Hybrid standards retrieval (filter + vector + rerank)AI orchestration across stagesInstructional material generationAssessment → publish → grade → return loopAutomatic objective scoringAI-assisted free-response suggestionsLesson import from existing materialCopy-on-write scheduled instancesDestination-abstracted publishing
Core Lesson

Generating a lesson was never the hard part; a model does that in seconds. The product is everything around it — the standards corpus, the assessment loop, the grading round trip — orchestrated so AI stays useful and the teacher stays accountable.

What this demonstrates

One product, many disciplines.

AI workflow designRAG & retrievalModel evaluationModel comparison & routingStructured outputsHuman-in-the-loopThird-party API integrationCost optimizationProduct discoverySystems thinkingProduction SaaS