For Articulate Storyline 360 courses
Automated QA for e-learning.Privacy as a feature.
Upload a published course or the .story file. Story Checker walks it like a learner, slide by slide, and tells you what will stop someone from reaching the end. The first line of the report is the verdict.
Free plan: 5 scans a month. No card.
- 53 checks, each proven by a planted bug
- Findings numbered by scene and slide, as in Storyline
- The course is blocked from calling out while it is scanned
Scanned today, 6 min
3 findings will affect the learner
- 1Critical
- 2High
- 0Medium
- 1Low
- 0To verify
- P.1
The completion threshold is 84 slides; the course has 80. Completion will never be reported.
- 2.3
"Continue" lights up on hover and does nothing.
Object: Continue
- 3.1
The gate to scene 3 opens only after all 4 tabs are visited, and tab 4 cannot be reached.
- 1.7
Body text in Arial; the other 23 slides use Assistant.
0 requests left the browser. 2 attempts to fonts.example.com were blocked.
Three steps. No questions.
The report never asks you anything. It says what it found, how sure it is, and where to look.
- 1
Upload
A published ZIP, the .story file, or both. Add the script (pptx, docx, txt) to compare the text against it.
- 2
The scan
Every slide, layer and button is opened in an isolated browser. A learner pass goes from start to finish, the way a learner in an LMS would.
- 3
The report
Grouped by severity, numbered as 1.4 or 3.12, with the text on the object. Mark what is intentional and it will not come back.
53
What gets checked
53 checks across 11 areas. Each one is proven against a course with a planted bug before it ships, and a check that crashed is shown as failed, never as clean.
- Navigation4 checks
Buttons that light up and do nothing, layers that open to nothing.
- nav/hover-no-effect
- nav/broken-layer-ref
- nav/empty-open-layer
- nav/slide-level-onrelease
- Navigation (.story)7 checks
Triggers to targets that do not exist, gates that never open.
- nav/reference-integrity
- nav/gate-cannot-open
- nav/wrong-target-copy
- nav/layer-never-opened
- nav/hover-on-locked
- nav/return-path-geometry
- state/detached
- The learner, live4 checks
A full pass from first slide to last; drag, hover, covered targets.
- runtime/learner-pass
- runtime/drag-matrix
- runtime/hover-roundtrip
- runtime/occluded-target
- Logic4 checks
Conditions nobody can meet, media that pauses and never resumes.
- logic/odd-condition
- logic/unsatisfiable-condition
- logic/media-never-resumes
- logic/cue-point-unreachable
- Quiz1 checks
Matching questions with no correct pair.
- quiz/matching-no-correct-pair
- Platform and LMS13 checks
Completion threshold, SCORM, player direction, links, attachments.
- platform/completion-threshold
- platform/completion-unreachable
- platform/player-direction
- platform/malformed-link
- platform/wrapped-url
- platform/missing-attachment
- platform/external-call
- platform/dead-link
- platform/js-error
- platform/load-time
- platform/heavy-asset
- platform/course-not-loaded
- platform/embedded-content
- Media and layout8 checks
Broken or pixelated media, overflowing video, odd button fills.
- media/broken
- media/low-res-image
- media/upscaled-story
- media/state-image-ratio
- media/recolor-washout
- media/state-shift
- layout/video-overflow
- layout/button-fill-outlier
- Typography3 checks
Fonts per script, missing hover states, style drift across slides.
- typo/font-outlier
- typo/missing-hover-state
- typo/cross-slide-style
- Course norm2 checks
The one sibling that differs from all the others.
- norm/sibling-outlier
- norm/answer-selected
- Text against the script6 checks
Missing or changed text, text on the wrong slide, spelling.
- content/source-slide-missing
- content/source-text-missing
- content/source-text-changed
- content/text-from-wrong-slide
- content/text-added
- content/spelling-norm
- Text against itself1 checks
Duplicate slide names in a numbered series.
- content/duplicate-slide-name
The report reads like a colleague, not a log
One line of verdict. Then what will hurt the learner, then what deviates from the course's own norm. Nothing in percentages: "1 of 24" is clearer than "4%".
- CriticalThe learner gets stuck, or completion is never reported
- HighThe learner continues but meets something broken
- MediumVisible, does not block
- LowA deviation from the course's own norm
- To verifyNeeds a human look before it counts
Scanned today, 6 min
3 findings will affect the learner
- 1Critical
- 2High
- 0Medium
- 1Low
- 0To verify
- P.1
The completion threshold is 84 slides; the course has 80. Completion will never be reported.
- 2.3
"Continue" lights up on hover and does nothing.
Object: Continue
- 3.1
The gate to scene 3 opens only after all 4 tabs are visited, and tab 4 cannot be reached.
- 1.7
Body text in Arial; the other 23 slides use Assistant.
0 requests left the browser. 2 attempts to fonts.example.com were blocked.
Your course stays yours
Clients' courses are not ours to share. So the scan is built around that.
The course cannot call out
During the scan the browser blocks every request from the course to the internet. The report ends with an evidence line: what was attempted and blocked.
The upload is deleted
The files you upload are deleted when the scan ends. Screenshots are kept for the report and expire with your retention setting (30 days by default).
What is not promised
The isolation is at the browser level: the scanning machine itself has internet access. We say this plainly instead of claiming an air gap we do not have.
Plans
Payment is not open yet. Every plan starts free while we are in early access.
Free
For trying it on one course.
5 scans a month
1 seat
- All 53 checks
- Report in 8 languages
- Course memory and "intentional" marks
Pro
For a freelancer shipping courses every week.
100 scans a month
3 seats
- All 53 checks
- Report in 8 languages
- Course memory and "intentional" marks
- Roles and shared workspace
Team
For an L&D team with shared course memory.
500 scans a month
15 seats
- All 53 checks
- Report in 8 languages
- Course memory and "intentional" marks
- Roles and shared workspace
Questions
Do I need the .story file?
No. A published course is enough. The .story file adds checks that only the source can answer (triggers that point nowhere, layers never opened), and a script adds text comparison.
Does it change my course?
Never. It reads and reports. Fixes stay in your hands, in Storyline.
What if it flags something I did on purpose?
Mark it as intentional. It will not come back on that course, and a check that is dismissed across three courses lowers its own weight.
Which languages?
The report comes in Hebrew, English, Arabic, Russian, French, Italian, Spanish and German. Courses in any language can be scanned.
Is it affiliated with Articulate?
No. It is an independent tool that works with courses made in Articulate Storyline 360.