1 of 10

Chalk

One prompt. A lesson you can follow.

Agentic teaching decisions. Deterministic visual execution.

Presented by Avinash Yadav

2 of 10

Most AI video optimizes for spectacle.

Learning needs structure.

A useful lesson must sequence ideas, keep labels readable, reveal relationships at the right moment, and remain clear after the wow factor fades.

3 of 10

ONE PROMPT IN — A COMPLETE LESSON OUT

A question becomes a lesson.

“How does the water cycle work?” → script, diagrams, narration, captions, and MP4.

▶ LIVE PRODUCT

Submit a topic. Watch progress, HLS preview, and the completed lesson.

4 of 10

END-TO-END ARCHITECTURE

One prompt travels through

a typed, observable pipeline.

1 PLAN · Gemini + TTS

2 COMPILE · TypeScript + Zod

3 DELIVER · Convex + FFmpeg

Next.js

React studio

Convex

queue + state

Node worker

claim + lease

Gemini + TTS

teach + narrate

Storyboard

sanitize + Zod

Compiler

layout · SVG · Sharp

FFmpeg

HLS · MP4 · VTT

5 of 10

KEY ENGINEERING DECISION

Agents explore.

The compiler enforces.

Planning agents never place the final video pixels. They emit bounded JSON; TypeScript owns geometry, timing, quality checks, and export.

Sanitize → Zod typed boundary

AGENTIC

Research + outline

Script editing

Visual direction

Scene design + icons

DETERMINISTIC

JSON sanitizers

Zod storyboard

Layout + collision repair

Timing + encoding

TYPED

CONTRACT

6 of 10

RENDER + MEDIA PIPELINE

Speech creates the timeline —

code produces every frame.

Per-beat Google TTS clips → measured PCM durations → interpolated reveal cues → SVG → frame-hash dedupe → Sharp → FFmpeg → HLS + MP4 + WebVTT

1 measured beat audio

2 SVG + Sharp frames

3 HLS + MP4 + WebVTT

7 of 10

RELIABILITY + SCALE

Every render owns a leased attempt.

1 → N

workers, one Convex queue

CLAIM

authenticated + atomic

LEASE

attempt ID + expiry

RENDER

renew + upload

COMMIT

current attempt only

Stale callbacks rejected · cron marks silent attempts failed · owner Resume requeues

8 of 10

POLISHED FROM PROMPT TO MP4

A complete, accessible user flow.

Responsive studio

Desktop and 390 px mobile layouts.

Accessible playback

Keyboard focus, captions, transcript, live status.

Complete workflow

History, gallery, HLS preview, MP4 download.

Private by default

Owner-only regenerate/delete + custom dialog.

Designed for keyboard, screen-reader, mobile, and completed-state usability.

9 of 10

ENGINEERING EVIDENCE

Measured, modular, and release-ready.

284 / 284 passed

Deterministic unit, integration, regression, and edge cases.

3 / 3 Convex

Ownership, capacity, stale-attempt integration tests.

4 / 4 browser

Desktop + mobile Playwright scenarios with axe.

86.69% lines

86.42% branches · 83.47% functions.

Typecheck · lint · format · production build · Docker/CI · deployment docs

10 of 10

One question → a lesson anyone can follow.

Built for learning. Engineered for trust.

Live demo