Community supermarket trainer - produce-scale PLU drill builder; paste your store's own PLU list, random drills in both directions, missed items recycle until answered right twice, a timed exam mode with a printable score sheet, one offline-capable file
You are a coding agent. Build a single-file HTML
training tool for produce-scale PLU codes, used
by community-supermarket trainers to drill new
hires. It must work as delivered, with no
network dependency.
Input data: the user pastes the store's own PLU
table into a text box, one item per line as
"code,item name,unit price", with the format
shown in an on-page example; pasting replaces
the current table.
Three modes:
1. Practice mode
- Random questions in both directions: given
the code, pick the item (multiple choice,
four options); given the item, type the code
(numeric entry)
- Wrong answers go to a miss list automatically;
missed items recycle through the session and
leave the list only after two consecutive
correct answers
- Live counters on screen: questions answered,
misses, items still in the miss list
2. Exam mode
- Name entered before the exam starts; one
sitting is [exam size] questions, [seconds
per question] per question, timeout counts
as wrong
- Pass standard: accuracy >= [pass mark]
- On finish, generate a score sheet: name /
date / questions / accuracy / missed codes
with their item names (for review) / pass or
fail
- The score sheet prints with one click; write
a separate print stylesheet that prints only
the score sheet, not the practice UI. Layout
sized as a half page that files into the
onboarding sign-off packet
3. PLU table management
- Show current item count, last-updated time,
one-click clear of the miss list
- Seasonal table changes (new items, new
prices) take effect by pasting again; the old
miss list clears with the old table
Implementation constraints:
- One HTML file, zero external dependencies -
no CDN, no web fonts; the training computer
may be offline
- PLU table and miss list persist in
localStorage across refreshes
- Must render and work on desktop browsers and
phone browsers, including in-app browsers
- UI in English (or the store's working
language); item names appear exactly as
pasted - no "smart correction," no aliasing
Forbidden:
- No accounts, no multi-user, no cloud sync
- No animations or sound effects; loads ready
to use
- The unit-price field is display-only and never
part of grading
Why it is written this way
Scale work is a peculiar skill: it is not a comprehension test, it is a reaction test - a customer is standing at the scale and the employee has about three seconds to key the code. So the tool grades on "timed and correct," matching the on-the-floor standard; untimed drills produce "knows it," not "knows it fast," and the queue still forms.
Both directions get drilled because real errors run both ways: someone who can read a code and name the item (which prevents wrong prices) still blanks looking at pork ribs and keys a nearby code instead - the reverse drill exists to close that exact hole. Missed items leave only after two consecutive correct answers because a just-missed item is almost always answered right on an immediate retry, and that is not mastery, that is short-term memory.
The printable half-page score sheet is the quiet MVP of the whole tool. The onboarding SOP demands a verifiable pass standard; "they say they've practiced" does not qualify. A sheet with a name, a date, and an accuracy figure, filed into the sign-off packet, is what makes the certification real.
"Zero external dependencies" outranks every other constraint. The training computer in most stores is the old machine in the back corner with intermittent Wi-Fi; a tool that will not open is worse than no tool - it kills the momentum of the whole onboarding routine. Offline-capable is not a nice-to-have here; it is the line between used and abandoned.
Variables
| Variable | Description |
|---|---|
| Exam size | Questions per exam sitting - on the order of the store's active item count, long enough to expose consistency |
| Seconds per question | Per-question time limit - back into it from how long a customer will actually wait at the scale; this drills reaction, not recall |
| Pass mark | Passing accuracy - use the same number as the onboarding SOP's station standard; do not keep two standards |