Qurioos tracks user progress at every level of your content hierarchy, from the smallest unit (a Step) all the way up to Levels and Certifications. This gives users a clear view of where they are, and helps admins measure engagement and results.
Progress is calculated separately at each level and then rolled up to the levels above it. Learn how the Completion status works.
A Step is the smallest unit of learning.
Example: A user answers a quiz question. Once the user selects an option on the quiz, the Step is marked complete, and the user clicks Continue to proceed to the next Step.
Technical note: Step completion is stored as boolean (true/false). Quiz Steps track correct/incorrect results per question. Completion timestamp is stored in UTC (hh:mm).
A Module groups related Steps together.
Example: The “Getting started with Stripe” Module has 10 Steps. When a user completes all 10, the Module is marked complete.
Technical note: Module progress is (Completed Steps ÷ Total Steps) × 100
. Completion timestamp is recorded when progress reaches 100%.
A Path contains several Modules.
Example: The “Stripe for Developers” Path has 3 Modules. Completing all 3 Modules completes the Path.
Technical note: Path progress is (Completed Steps in all Modules ÷ Total Steps in all Modules) × 100
. Completion timestamp is stored at 100% progress.
A Level contains one or more Paths.
Example: The “Intermediate Sales” Level includes the “Sales for B2B” and “Sales for B2C” Paths. Completing both Paths completes the Level.
Technical note: Level progress is (Completed Steps in all Paths ÷ Total Steps in all Paths) × 100
. Completion timestamp is recorded at 100% progress.
A Subject is the top container for all learning content.
Example: The “Introduction to Sales” Subject includes Beginner, Intermediate, and Advanced Levels. Completing all three Levels completes the Subject.
Technical note: Subject progress is (Completed Steps in all Levels ÷ Total Steps in all Levels) × 100
. Completion timestamp is recorded at 100% progress.
A Level can have a Certification linked to it.
Example: A “Platinum Partner” Certification requires completing the Platinum Level and scoring at least 80% on all quizzes.
Technical note: Certification eligibility checks for Level completion flag = true and quiz score ≥ threshold. Expiry date is stored if applicable.
Example: Adding a new Module to the “Stripe for Developers” Path will update all user progress in the Learn Stripe Subject as now they need to complete more Steps to get to 100%.
Technical note: No versioning. Update logs include updated_at
(UTC). Structure changes trigger a reclaculation of all progress entries for that Subject.