Article

Tutorial · KOUHEI AI

Getting AI to build web lessons that look like a polished slide deck

No coding needed. Script first, then a storyboard. Name a style and list what to avoid. Every prompt in this deck copies with one click.

Scroll, arrow keys or space to turn pages

The short version

No time? Hand this whole prompt to your agent

  1. 1

    Press "Copy" on the box at the right and paste it into Claude or ChatGPT.

  2. 2

    Replace the topic, readers and style in braces with your own.

  3. 3

    It writes a script and storyboard for your OK, builds the pages, then screenshots and checks them.

Every page after this explains why each step in that prompt is there.

Please make me a web lesson that looks like a polished slide deck, following the process below.

Topic: {your topic, e.g. "How the Tesla Roadster flies, and how it hangs upside down"}
Readers: {who will read it, what they already know, what they should be able to do afterwards}
Style: {e.g. "Neo-Brutalist" or "an Apple keynote"; if I haven't decided, suggest 2–3 for me to choose from}

Process (stop after each step and wait for my OK before going on):
1. Write only the script first, in Markdown, one point per section. Give sources for facts and numbers, and keep what has been confirmed separate from what has only been claimed.
2. Turn the script into a storyboard table: page | the page's point in one sentence | picture | what the animation explains ("none" if there isn't one). One point per page.
3. After I approve the storyboard, build the pages:
   - A single HTML file with no external resources; it must open offline
   - 16:9, centred and scaled; scroll wheel, arrow keys and space turn pages, one page per scroll; chapter name and page number at the bottom
   - Pages that explain how something works get a canvas animation that answers one "why": 3–6 seconds, plays once and stops, with a replay button. Where numbers are related, add one draggable slider
   - State the style's reference, exact colour codes and fonts; at most 3 accent colours, and each colour keeps one meaning throughout
   - Avoid: a cover with a big centred headline and two buttons, three equal cards side by side, blue-purple gradients, glowing orbs, particles, blur-in effects, elements flying in one by one, emoji as icons, boxes inside boxes
   - Body text at least 18px, captions at least 13px
4. When done, screenshot every page (three shots for animated pages: start, middle, end), check for overlapping or overflowing text and text that's too small, and fix it before handing it over. If you can't run code or take screenshots, give me the complete HTML file and remind me to check each page myself.

Why a web page instead of PowerPoint

Drag the slider and watch the moment the car lifts off
Drag the slider and watch the moment the car lifts off
  1. 1

    Animations explain how things work

    Why a car can hang upside down: 5 seconds of animation beats three lines of text.

  2. 2

    Readers can try it themselves

    Drag the thrust and see the moment the car lifts off. People remember what they've played with.

  3. 3

    One file opens anywhere

    A single .html file. Double-click and it opens in the browser, nothing to install.

The cost: you can't drag text boxes around like in PowerPoint, so prepare a bit more up front.

You need three things

  1. 1

    An AI that can write code

    Claude's Artifacts and ChatGPT's Canvas preview the page right next to the chat.

  2. 2

    A browser

    No preview? Copy all the code, save it as "lesson.html" and double-click it.

  3. 3

    A topic you can explain

    Here: how Tesla's new Roadster "flies" and how it "hangs upside down on a wall".

Lesson 1

Script first, pages later

ScriptText only, fix it first
StoryboardOne point + one picture per page
PagesBuilt last

Ask for a deck straight away and the AI thinks about content and layout at once. Every page gets stuffed with text, like a Word document with a new background.

Keep content and layout apart, and changing one sentence won't break a page.

Lesson 2

Animations explain. They don't decorate

Blow gas backward, the car goes forward. This animation answers exactly one "why"
Blow gas backward, the car goes forward. This animation answers exactly one "why"
  • Each animation answers one "why"
  • 3 to 6 seconds, plays once and stops, with a replay button
  • Where numbers are related (angle, distance, speed), use a slider

Avoid: titles flying in, cards popping up one by one. They only distract.

Lesson 3

Name the style, and say what you don't want

The AI's average taste

AI Platform

Lorem ipsum dolor sit amet

Learn more

Named: Neo-Brutalist

NEW

Roadster

0 → 60 mph

Start
  • A reference"an Apple keynote", "a Neo-Brutalist indie product site"
  • Exact colour codesbackground, body text, accent colours
  • Fontsfor headings and for body text
  • A list of what to avoidblue-purple gradients, three equal cards, emoji as icons…

The avoid list is the easiest to forget and the most effective. Rule out the AI's usual elements one by one, and what remains is your style.

Step 1

Write only the script first

Shown at the event

  • A few seconds of jumping, rolling and brief hovering
  • Drove up a curved ramp and stopped upside down at the top

Tesla's own figures

  • About 4,700 kg of downforce (some think it's too high)
  • About 80 kN of rear thrust

Trending topics: separate facts from claims in the script

I want to make a web lesson of about 7 pages called "How the Tesla Roadster flies, and how it hangs upside down on a wall", for adults who never studied physics.
Only write the script for now, in Markdown, one point per section. Don't build any pages yet.
Keep a clear line between what was actually shown at the event and numbers that Tesla has only announced.

What the AI remembers may be out of date or made up. Go by official announcements and reliable reporting; fixing numbers after they're animated is a pain.

Step 2

Turn it into a storyboard

PagePoint in one sentenceAnimation
1How does a car fly, and hang upside down?None
2Blow gas backward, the car goes forwardGas shoots backward and the car speeds up (action and reaction)
3Once thrust beats the car's weight, it lifts offDrag a slider to change thrust; the car lifts off the moment thrust exceeds its weight
4It only flies a few seconds because the tank runs outThe air level drops, the thrust disappears, the car lands
5Fans pump the air from under the car, and the atmosphere presses it onto the roadThe pressure arrows under the car shrink while the air pressure on the roof stays the same
6If pressure gap × floor area beats the weight, it can hang upside downDrag a slider to change the pressure under the car and see whether it falls or sticks at the top
7Summary: one pushes out, the other presses inNone
Turn the script into a storyboard table, one row per page: page | the page's point in one sentence | picture | what the animation explains ("none" if there isn't one)

Ask only one thing: does each page have exactly one point? If a page says two things, split it.

Step 3

Pick one style

Neo-Brutalist: off-white background, thick black outlines, hard shadows, sticker labels
Neo-Brutalist: off-white background, thick black outlines, hard shadows, sticker labels
  • Browse VibeHub (vibe-hub.org): 24 styles, each with a description and examples
  • For explaining concepts: a style with lots of space and one sentence per page
  • For something eye-catching: a strong style like Neo-Brutalist
  • Then put the reference, colour codes, fonts and avoid list in the prompt

Step 4

Generate it with the full prompt

<inputs>topic, readers, script, page count
<direction>reference, colours, fonts, layout, what to avoid
<structure>follow the storyboard; where animations and sliders go
<build>single file, page turning, minimum font sizes

This split comes from the best-performing prompts on Prompt Motion (prompt-motion.com). Replace what's in braces.

<inputs>
Topic: {the lesson's topic}
Readers: {who will read it, what they already know, what they should be able to do afterwards}
Script: {paste the checked script and storyboard}
Pages: {about N pages}
</inputs>

<direction>
Reference: {e.g. "an Apple keynote"}
Canvas: background {colour code}; body text {colour code}; at most 2 accent colours {colour codes}, each with one fixed meaning: {colour = meaning}
Fonts: system fonts for text, a monospace font for numbers and code
Layout: one point per page; the headline states the conclusion in one sentence; white space is there to focus attention
Avoid:
- a cover with a big centred headline and two buttons
- three cards of equal width side by side
- blue-purple gradients, glowing orbs, particles, blur-in effects, 3D flips
- every block flying in one after another
- emoji used as icons
- boxes inside boxes, a divider under every paragraph, coloured bars down the left side
- anything that looks like a template
</direction>

<structure>
Follow the storyboard, one section per page.
- Pages that explain how something works get an animation that answers one "why": 3–6 seconds, plays once and stops, can be replayed
- Where numbers are related, add one draggable slider
</structure>

<build>
- A single HTML file with no external resources; it must open offline
- 16:9, centred and scaled; scroll wheel, arrow keys and space turn pages, and one scroll must not skip several pages
- Show the chapter name and page number at the bottom
- Put colours, fonts and font sizes in variables and use only those variables throughout
- Draw animations on a canvas, computing every frame from the time
- Body text at least 18px, captions at least 13px
</build>

Step 4 · Style

Swap in the Neo-Brutalist style

The sample deck was built with exactly this part
The sample deck was built with exactly this part
Reference: Neo-Brutalist indie product sites and event pages
Canvas: off-white like #FFF8E7; thick 3px black outlines; hard solid black shadows with no blur (6px offset)
Accent colours: 2–3 bright blocks of colour (e.g. #FFD23F, #3BCEAC, #EE4266), each with one fixed meaning
Fonts: extra-bold headlines (weight 800+), regular weight for body text so it stays readable
Layout: colour-block cards, sticker-style labels, slightly tilted highlights; the information hierarchy must stay clear
Animation: crisp moves and press-down effects; no soft fades
Avoid: as above; decoration must never outshine the content; no more than 3 loud colours overall

Replace the <direction> part of the template with it.

Step 5

Check every page, fix one thing at a time

Common problems

  • Text overlapping a picture
  • Labels sitting on lines
  • An animation's last frame not settling
  • Text too small to read

Paste a screenshot of the page into the chat and say which page, which element, and what it should look like:

"On page 5, the 'Outside: normal air pressure' label covers the car body. Move it above the roof."

With an agent that can run code (such as Claude Code), add this line at the end of the prompt:

When you're done, screenshot every page, and take three shots of each animated page (start, middle, end). Check for overlapping or overflowing text yourself and fix it before handing it to me.

Six common pitfalls

1

Give each colour one meaning

Thrust always red, gravity always black, air pressure always teal.

2

One scroll skips pages

A trackpad swipe fires many times. Write "one page per scroll".

3

Text keeps shrinking

The AI quietly shrinks fonts. State body 18px, captions 13px minimum.

4

Animations loop forever

Distracting. Write "plays once and stops, can be replayed".

5

Too many pages for one reply

Settle the style on a few pages, then add one chapter at a time, new pages only.

6

A wrong explanation means fixing everything

Pages, animations and notes all change. Checking at step 1 saves the most.

A 10-point check before you share it

Click to tick items off · 0/10 done

The slowest part is the first two steps

Writing the script and the storyboard. Generating the pages is actually quick. To try it, pick a topic you know well and build 5 pages.

Sources: VibeHub design styles vibe-hub.org · Prompt Motion prompt-motion.com · VibeHub "Avoiding the AI look"