Inspiration

My wife is a special educationist (special education teacher) in Zürich. Her official hours are nine to five, but she works seven to seven, because every evening she rebuilds the next day's lessons by hand, a different version for each learner in her room. Her students are dyslexic, have ADHD, are new to the language, or face other challenges. Every child is different, and the way each one learns is different.

I'm originally a developer, and I watched her start using ChatGPT to save time. It helped, but two concerns kept coming up, and they're the reason LessonBend exists.

  1. a lesson written by a general chatbot isn't really tailored to how a specific child learns. Some kids respond to visual manipulation, some to audio, some to matching, some to short bursts with instant feedback. You only learn what works through practice.

  2. she can't put student details into online tools. In special education, in Switzerland and across Europe, protecting a child's information isn't optional.

LessonBend is the tool I built for her, and for teachers like her.

What it does

A teacher enters any lesson and picks (or creates) the learner profiles in their room. LessonBend generates (with codex and gpt 5.6) a distinct, playable, interactive version of the same learning goal for each profile.

Not templated content, but actual generated activities: fraction manipulatives, matching, sequencing, sorting, cloze, worked examples. Each route adapts loop length, text density, audio, feedback style, and scaffolding to that profile's support needs.

Teachers can also create a new profile by describing what they observe. GPT-5.6 researches current evidence and proposes a support profile with citations, and the description is processed once and never saved.

Crucially, LessonBend never stores a child's identity. Profiles describe support needs, never diagnoses, and the mapping to real children lives only in the teacher's head. There is no student data to leak, because we never collect any.

How we built it

Built end to end with Codex (CLI) and GPT-5.6. The architecture splits two engines. GPT-5.6 is the pedagogy engine: it decomposes a lesson into a structured spec, evaluates lesson quality, and generates research-backed profiles. Codex generates each lesson as a constrained module that our own trusted renderers turn into safe, mathematically correct interactions.

A validation pipeline renders every generated lesson in a headless browser, runs deterministic gates (safety, no network access, correct math models, feedback presence, language checks) plus a GPT-5.6 quality rubric, and a surgical repair runner fixes failures at the field level before any lesson reaches a teacher. Privacy is architectural: no accounts, no rosters, no student records anywhere.

Challenges we ran into

Our first approach let the model generate whole HTML lessons freely, and it repeatedly produced broken or pedagogically invalid output. We measured the failures (each batch cost about $2) and pivoted to a constrained design where the model supplies only pedagogy and our trusted, hand-built renderers own everything safety and correctness critical. Moving every correctness-critical concern out of the model and into owned code is what made generation reliable.

What's next? A pilot with real classrooms measuring teacher preparation time and student mastery. More interaction types and subject-specific renderers. Richer per-profile lesson history. And studio-quality audio.

Built With

Share this project:

Updates