Lesson Types
Every lesson in Flo is one of four formats: Video, Text, PDF, or Quiz. You pick the type when you create the lesson in Curriculum — you cannot switch types later, so choose based on how you want students to learn that step.
All types share the same Published, Free preview, and optional drip controls. What differs is the main content you add and how students experience it in the learn player at https://myflo.link/{your-username}/courses/{slug}/learn.
Related: Curriculum · Quizzes · Drip & free preview · Certificates · Student experience.
Add a lesson
Open Curriculum
Dashboard → Courses → your course → Curriculum tab.
Add lesson
In a module, click Add lesson (header + or link at the bottom of the module).
Choose Lesson type
In the New lesson slide-over, under Lesson content, pick Video, Text, PDF, or Quiz.
Fill in content
Enter Lesson title, add type-specific material, set Published / Free preview / drip if needed, then Create lesson or Save changes.
Type is permanent
After Create lesson, the type selector disappears on Edit lesson. To change format, delete the lesson and add a new one.
Compare the four types
| Video | Text | Quiz | ||
|---|---|---|---|---|
| Best for | Talk-throughs, demos, interviews | Written guides, scripts, reference | Workbooks, slides, handouts | Knowledge checks |
| You add | Upload a video file | Markdown in Content | Public PDF URL | Questions on Questions tab |
| Student sees | Streaming player (adaptive quality) | Formatted article-style page | Embedded PDF + download link | One question at a time, then results |
| Duration on outline | Yes, after processing | No | No | No |
| Free preview | Yes | Yes | Yes | Yes — same toggle on every type |
| Mark complete | Student uses Mark complete in player | Same | Same | Passing the quiz (see Certificates) |
Video lessons
Picker subtitle: Upload a video via Mux.
What you do in the editor
| Step | Detail |
|---|---|
| Title first | Flo needs a Lesson title before upload — if you upload without a title, you see Please enter a lesson title before uploading |
| Upload | Click Click to upload video — MP4, MOV, or WebM · up to 5GB |
| Direct upload | File goes to Flo’s video partner (Mux) — not through your browser to Flo’s app servers (hint: Video goes directly to Mux — never through our servers.) |
| Processing | Status moves through Upload received… → Processing video… → Video ready, or Processing failed — please try again |
| Preview | When Video ready, a player preview appears in the editor |
| Replace | Replace video uploads a new file over the lesson |
The slide-over stays open after save so you can finish upload and processing. Text, PDF, and quiz lessons close automatically after a successful save.
Tips
| Tip | Why |
|---|---|
| Keep the editor open until status is Video ready | Students only get a smooth playback experience after processing finishes |
| Use Published when the video is ready | A Draft video lesson is hidden from the student outline |
| One strong intro as Free preview | Lets visitors sample your teaching on the public course page — Drip & free preview |
Text lessons
Picker subtitle: Written content or markdown.
What you add
| Field | Detail |
|---|---|
| Content | Long-form body — Markdown supported (hint on field) |
| Placeholder | Write your lesson content here. Use ## for headings, bold, italic, and - for bullet points. |
| Character count | Shown below the editor as you type |
Save requires non-empty Content — otherwise Text content is required.
What students see
Flo renders common Markdown in the learn player:
| Syntax | Result |
|---|---|
# / ## / ### | Headings |
**bold** / *italic* | Emphasis |
`code` | Inline code |
> | Blockquote |
- or * lists | Bullet lists |
| Numbered lines | Ordered lists |
--- | Horizontal rule |
| Links | Clickable links |
Students can Mark complete when they are done reading, and leave comments on the lesson like other types.
PDF lessons
Picker subtitle: Upload a PDF document (in the picker — you link a file by URL in the form).
What you add
| Field | Detail |
|---|---|
| PDF URL | Full https://… link to a PDF (hint: Paste the URL of your PDF. Upload to Supabase Storage or any public host.) |
The file must be publicly reachable so Flo can embed it in an iframe. Host the PDF on Flo storage, your own site, or any CDN that allows direct PDF access.
Save requires a valid URL — otherwise PDF URL is required or validation errors from an invalid link.
What students see
| Element | Behavior |
|---|---|
| Embedded viewer | PDF displays in the lesson area when the URL works |
| Open / download | Link to open the PDF in a new tab if embedding fails |
| Mark complete | Student confirms they finished the material |
Good for worksheets, slide decks exported to PDF, and printable resources alongside video or text lessons.
Quiz lessons
Picker subtitle: Multiple choice questions.
Two-step setup
Create the quiz lesson
Choose Quiz, set Lesson title (for example Module 1 Quiz), toggle Published when ready, click Create lesson.
Open Questions
Flo shows Settings and Questions tabs on Edit lesson. New quizzes display: Questions are added on the Questions tab — Create the lesson first, then switch to the Questions tab to add your questions.
Add questions
Add question or Add first question → fill the form → save. Toast: Question added or Question updated.
Building each question
| Field | Rules |
|---|---|
| Question | Required prompt text |
| Type | Multiple choice (2–4 options) or True / False (fixed True and False) |
| Answer options | Each option needs text; click the circle to mark the one correct answer (hint: Click the circle to mark the correct answer.) |
| Add option | Up to 4 options on multiple choice |
| Explanation | Optional feedback shown after the student answers |
Reorder questions by dragging on desktop. Header copy: Drag to reorder. Students see questions in this order.
Empty state: No questions yet — Add your first question to get started.
Full quiz workflow: Quizzes.
What students see
| Step | Experience |
|---|---|
| Take quiz | Question 1 of N, dot navigation between questions, select an answer per question |
| Submit | Submit when all questions are answered |
| Results | Score and explanations (when you added them) |
| Progress | Passing updates course progress; sidebar checkmarks reflect completion rules |
Settings every type shares
In Visibility and access on the Settings tab:
| Toggle / field | What it does |
|---|---|
| Published | On — students see the lesson in the outline (Unpublished lessons are hidden from students). Off — Draft in Curriculum |
| Free preview | On — Non-enrolled visitors can view this lesson for free on the public course page (best for a teaser video, intro text, or sample PDF) |
| Show drip settings | Expands Unlock after (days) — blank = available right after enroll; a number = locked until that many days after enrollment (Students unlock this lesson N day(s) after enrolling) |
Save the course from the top bar when you change Details or Pricing; lesson changes save from the slide-over (Create lesson / Save changes).
| Toast | When |
|---|---|
| Lesson created | First save |
| Lesson updated | Later saves |
What students see in the learn player
Enrolled students open …/courses/{slug}/learn (with their access link). The layout includes:
| Area | Role |
|---|---|
| Sidebar | Modules, lessons, checkmarks for completed work, locked icon when drip has not unlocked yet |
| Main area | Video player, text content, PDF viewer, or quiz UI depending on lesson type |
| Footer | Previous / Next lesson, Mark complete / Mark incomplete (not the primary path for quizzes — passing handles progress) |
| Comments | Discussion thread on lessons (all types) |
Only Published lessons appear. Draft lessons are for your planning only.
Certificates and quizzes
On Certificate tab:
| Setting | Effect on quizzes |
|---|---|
| Require passing all quizzes | When on, every published quiz must be passed for course completion / certificate |
| Passing score | Default 80% — Students need [N]% or higher to pass each quiz (only when require passing is on) |
When Require passing all quizzes is off, students still complete quiz lessons by finishing the attempt, but a low score may still count as “done” for that lesson.
Details: Certificates.
Mix types in one course
| Pattern | Example module |
|---|---|
| Video + text | Video lesson, then text summary with links |
| Video + PDF | Lesson video, then downloadable workbook PDF |
| Lesson + quiz | Teach three videos, end module with a Quiz |
| Preview + drip | Lesson 1 Free preview + Published; lessons 2+ drip 7 days apart |
There is no limit on how many of each type per module — only what makes sense for your students.
Troubleshooting
| Issue | What to check |
|---|---|
| Cannot upload video | Enter Lesson title first · file must be video/ type · under 5GB |
| Video stuck on Processing | Wait a few minutes; use Replace video if Processing failed |
| Text save fails | Content cannot be empty |
| PDF does not show | URL must be https and publicly accessible · test in an incognito window |
| Quiz has no Questions tab | Save the lesson as type Quiz first — tab appears on Edit lesson only |
| Students see no quiz questions | Add at least one question with Add question · turn lesson Published on |
| Lesson type wrong | Delete and recreate — type cannot change |
| Students cannot see lesson | Turn Published on · check drip days · course must be Live |
| Free preview not on sales page | Free preview on + lesson Published + course Published |
What's next?
- Curriculum — modules, order, and the lesson list
- Quizzes — questions, scoring, and retakes
- Drip & free preview — schedule and teasers
- Certificates — completion and passing rules
- Student experience — learn player and progress
- Publishing — go live when the outline is ready