How We Built CARL’s Lesson Structure (and Why It Looks the Way It Does)
When we started building CARL, we needed a lesson structure that could work under AI generation and still hold up in a real classroom.
That’s harder than it sounds.
Most lesson planning frameworks assume one teacher, one class, full control over pacing and context. CARL had to generate sound lessons for any grade, any subject, any teacher. We couldn’t just pick one instructional model and call it done.
The Starting Point: BOPPPS
I first came across BOPPPS in an undergrad course on learning environments, and again during my MEd when I was studying student engagement.
It stands for Bridge-in, Outcomes, Pre-assessment, Participatory learning, Post-assessment, Summary. It’s clean, it flows, and it starts with a hook.
That mattered, because the research is clear: relevance and agency are two of the strongest drivers of engagement, and a hook is how you make learning feel relevant from the first minute.
But one hook isn’t enough. Students have different interests and entry points, and a hook that lands for one can miss another completely. So CARL generates dual hooks by design. The first is usually culturally or age-relevant. The second is an opposing entry point for the students the first one misses. If one doesn’t land, the other might.
Adding Structure: GRR
BOPPPS gave us the flow, but “participatory learning” was too vague on its own. Teachers know students learn by doing. The real question is how you scaffold it.
That’s where Gradual Release of Responsibility came in: I Do, We Do, You Do. Model it, practise it together, then release. We embedded GRR inside the participatory phase to turn a vague step into concrete instructional moves.
It also solved a practical problem I heard about constantly: attention span. Students do better when they’re actively learning, but lining up enough meaningful activity to sustain that is hard. Breaking a lesson into Explore, Explain, and Apply builds in natural transitions that keep things moving and cut the long passive stretches where students drift.
The Naming: Leaning Toward 5E
As we iterated, the phase names started sounding like the 5E model: Engage, Explore, Explain, Elaborate, Evaluate. That wasn’t intentional. It happened because that language was simply clearer for teachers.
The underlying structure didn’t change. BOPPPS and GRR were still doing the heavy lifting. We weren’t trying to be purists about any one framework. We were trying to build something that worked.
Building It to Work Under AI
Here’s something that isn’t obvious from the outside: CARL doesn’t say “make a lesson plan” and generate it all at once. Each section, hooks, outcomes, activities, assessments, supports, is generated with its own detailed instructions. That’s how the pedagogy holds up at scale.
It also means the AI isn’t freestyling. It’s following a blueprint that enforces the BOPPPS + GRR + 5E synthesis. Dual hooks aren’t optional. GRR scaffolding isn’t skippable. Reflection is always there. Those constraints are exactly what let a Grade 2 literacy lesson and a Grade 12 physics lesson both come out sound.
Built to Bend
The other thing teachers were clear about, in the research and in conversations with my MEd colleagues, is that they didn’t want rigid templates. They wanted structure and the freedom to adapt.
So CARL generates a lot: multiple hooks, layered activities, scaffolded supports, reflection prompts. Not so you use all of it, but so you can keep what works, cut what doesn’t, and edit freely. That came straight from teachers’ critiques of other AI planners, which tend to be either hard to edit or so barebones they still cost you hours.
What We Ended Up With
CARL’s structure isn’t BOPPPS. It isn’t GRR. It isn’t 5E. It’s a synthesis of the strongest moves from each:
- BOPPPS for flow and clarity: hooks, outcomes, participatory learning, reflection
- GRR for scaffolding: model, guide, release
- 5E for clearer phase names: Engage, Explore, Explain, Apply, Reflect
- Dual hooks to reach more students
- Built-in flexibility so teachers adapt instead of starting over
Because each section is generated with its own specific instructions, the pedagogy holds across grades and subjects.
This didn’t get designed in one sitting. It emerged through iteration, research, and listening closely to what teachers actually needed. And honestly, that messiness, the synthesis, the adaptation, the refusal to follow any one model perfectly, is exactly what makes it work.
Curious what this looks like in practice? Explore real, classroom-ready lessons in the CARL Library, see what makes them classroom-ready, or read about the built-in lesson enhancements.

