Floor staff use a separate app at /learn, built for phones but fully usable on desktop. It has three tabs: the feed of decks assigned to them, the brand index, and a customer-safe item lookup(price, availability, cross-store stock; never cost, margin, or supplier). Staff see only their own progress, never anyone else's.
A brand deck is reference material, not a course: someone holding a product wants to read about that brand right now, not remember which path it was filed under. The Brandstab lists every brand you have published a deck for, alphabetically, with a search box. Searching also reaches the rest of the library, so a term that isn't a brand still finds the deck that covers it.
Each tile carries the brand's logo, which is what makes a grid of sixty-odd brands scannable: staff recognise the mark before they read the name. A deck without a logo falls back to the icon of the category path it sits in, so nothing looks broken while a logo is missing.
The tab shows exactly the decks that person could already open through a path, so it grants no extra access. A brand only appears once it is published and sits in at least one active path.
Anyone with a Stokk login gets the same experience via My Training in the sidebar, no QR needed and nothing to set up. Browsing is anonymous; the first time you complete a deck, a training record is created from your login automatically, and from then on acknowledgements and quiz results record against it.
Training → Staff shows a join QR code per location. Print it and post it in the back room. A new hire scans it on their phone, enters their phone number, then their name and a PIN of their own: no email invite, no account setup, no ID number. The phone is what keeps one record for each person, so their progress is the same whether they're on their own phone or the store till. Type the number however it comes out: with the country code or without, spaces or none. Stokk reads them all as the same number, so nobody gets a second record just because their phone filled in +354. Working in two stores? Scan both codes; both bindings stick.
There is no separate login page. Scanning the QR again asks for the phone number and, if that number already has training, the PIN. Everyone lands back on their own progress, and nobody has to re-enter their name.
The PIN is what makes a training record belong to someone. Without it, anyone who knew a colleague's phone number could pick up that colleague's record, and any completion signed off under that name would be worth nothing as evidence. Five wrong tries lock the record for fifteen minutes.
A till is shared by the whole team, so it can't belong to one person. Mark the till's login as a shared device in Admin → Users(“Make shared till”, needs a location set). From then on, opening training on that login shows a sign-in screen: phone number and PIN, exactly as on your own phone. Do your training, then tap “Switch user” so the next person can go. New starters just put their number in and it sets them up. Each person is tracked separately even though they share the login, and the screen signs itself out at the end of the day. (A device that isn't logged in can still reach this screen by scanning the QR and choosing “store mode”.) On a logged-in device, a “Back to Stokk” link returns to the rest of the app, handy on a home-screen iPad with no browser bar.
A deck is swiped one card at a time and finishes with either a one-tap acknowledge or a quiz (80% to pass by default, unlimited retries). New and updated decks are badged at the top of the feed with a count, so nothing slips by unseen on the next open.
Decks can be grouped into a Path: an ordered set you work through, with progress shown as “3 of 7 done”. Paths appear to staff in the order set on the Paths page (use the arrows to reorder), and a deck that belongs to a path shows only inside its path, never as a duplicate card in the feed. Ticking “Only visible to assigned people” on a path hides it from everyone except its assignees, for managers-only tracks or pilots. Completed decks and paths turn green, and quiz answer options are shuffled for every attempt. A Path appears as a card at the top of your training; tapping it lists its decks with a tick against the ones you've finished. The decks are still normal decks (a deck can sit in a Path and in your feed), so completing one anywhere counts everywhere.
Onboarding is a Path given to a new starter, not pushed to a whole store: a five-year veteran doesn't get onboarded just because the system is new. New hires can tick “I'm a new starter” when they join and their onboarding is set up automatically. Managers can also assign a Path to specific people from Training → Paths.
Everything active is also browsable: Paths you aren't assigned show under “More training to explore”, so anyone can pick one up and it still tracks. Nothing here expires: timely material (say a July new-products Path) stops nagging after its window but stays available to look back on, and your completion record is kept either way.
Training → Completion opens on a summary (overall compliance, how many people are fully up to date, what's outstanding, and activity in the last seven days), then lets you switch lens:
Store managers see their own location's staff; admins see every location. Records are kept per employee and per deck version, so an audit can always show who acknowledged which wording, when. Export CSV downloads the full record for payroll or an auditor.
Because staff enrol themselves, Staff is also where you tidy up. You can rename anyone (fix a typo, or a name typed in a hurry), add someone by hand, and merge duplicates: if the same person shows up twice, they're flagged under “Possible duplicates”, and merging keeps one record while moving every completion, quiz attempt, and store binding onto it.
Deactivate a person on Staff when they leave: their access dies instantly, but their completion history stays on record. Employees are never deleted; the compliance trail survives staff turnover. Reactivating them later restores access with history intact.