Which pattern should I use?
Pick by the JOB, not by the widget. A screen's pattern follows from what
the person is trying to finish — find something, work one record, enter
data, clear a queue, watch something run — and every pattern below says in
its own words when it is the wrong choice, which is usually the
faster way to decide. Not a component index: if you know
the screen and need the parts, the pattern page lists them, and
the component pages document each
one. This page only answers "which screen am I building?".
Start from the job generated
Six families, in the order a working day runs
through them. Every row is read from the same file that builds
the pattern index and the sidebar, so
this page cannot disagree with them about what exists.
enter & find
enter & find — patterns, who they serve, and when not to use them | Pattern | Reach for it when | Not when |
| Login | every user, before anything else — the first screen and, for anyone who forgets a password, a recurring one. | Not for re-authentication mid-task |
| Error pages | every user, eventually — a stale bookmark, a link shared before a record moved, a permission that changed since yesterday, a request that failed server-side. | Not for a section failing to load inside a page you're still on |
| First load | everyone, on every screen, before they can do anything else. | Not for a REFETCH of data already on screen |
| App frame | everyone, on every screen — the persistent chrome the whole suite lives inside. | Not for a single-task dedicated device |
| Suite home | anyone whose work spans modules — a controller touching Finance and Purchasing, an ops lead across Warehouse and Reports; the screen behind the brand link and the switcher's "home". | Not for one role's daily queue |
| App launch | anyone opening the suite, every session — the first screen after sign-in. | Not for returning a user to a specific record they already know |
| Role home | every named role — a buyer, an approver, a warehouse supervisor — each seeing their own version. | Not a launcher |
| Command bar | power users who know what they want — a dispatcher jumping to PO-88213, a controller running "post period" — without walking the menu. | Not a replacement for navigation |
| List report | AP clerks, all day — the screen they live in. | Not for a single record's full detail |
| Advanced filter panel | — | Not for a list with one obvious narrowing dimension |
| Value help | anyone typing a code they cannot remember — a buyer picking a material out of forty thousand, a clerk choosing a cost centre; dozens of times a day, inside a form they are part-way through. | Not when the option set is small |
work one record
work one record — patterns, who they serve, and when not to use them | Pattern | Reach for it when | Not when |
| Object page | whoever owns one record end to end — a buyer opening a PO, an approver checking it before signing; many times a day, one object at a time. | Not for a record you can take in at one glance |
| Record detail | whoever owns this record, checking its status or adding to its history — a buyer, an approver, anyone who clicked in from a list row. | Not once the record stops fitting in one scan |
| Master-detail | — | Not when one record deserves the whole screen |
| Multi-column detail form | whoever owns the record — a buyer editing a PO, an admin fixing vendor details; occasional, high-stakes edits where losing work is unacceptable. | Not for reading a record |
enter & correct data
enter & correct data — patterns, who they serve, and when not to use them | Pattern | Reach for it when | Not when |
| Editable grid | whoever enters or corrects line items — a buyer building a PO, a warehouse clerk keying a pick list. | Not for a table that's read far more often than edited |
| Multi-step wizard | whoever is creating something too long for one screen, guided rather than dropped into a form — most often a first-time or occasional flow. | Not for a routine single-step task |
| Staging / batch result | whoever maintains data in bulk — an uploaded file, an interface run, a mass posting. | Not for a handful of records |
| Reconciliation | whoever must prove two independent records agree — an accountant clearing the bank statement against the ledger, AP matching payments to invoices, treasury clearing suspense. | Not for validating one imported list |
| Timesheet | anyone who books time — a consultant, a field engineer, a project team member. | Not for editing arbitrary fields across rows |
| Comparison matrix | whoever must choose one of several candidates on stated criteria — a buyer awarding an RFQ, an analyst picking a vendor, a manager comparing budget scenarios. | Not for comparing versions of one record |
| Validation summary | anyone filling a form with more than a couple of required fields — worth it the moment a reader could miss which field failed. | Not for per-row saves |
decide & clear queues
decide & clear queues — patterns, who they serve, and when not to use them | Pattern | Reach for it when | Not when |
| Inbox | every ERP user, first thing — the screen a working day starts on. | Not for one document type's approval queue |
| Approval workflow | an approver named in the chain — a manager, a cost-centre owner, finance. | Not for a record with no decision to make |
| Bulk actions | an AP clerk clearing a queue — select many, act once. | Not for changing one record |
| Kanban board | whoever needs to see WHERE a batch of things stands, all at once — a production planner watching orders move through stages, a fulfilment lead watching shipments. | Not for finding one specific record |
monitor & output
monitor & output — patterns, who they serve, and when not to use them | Pattern | Reach for it when | Not when |
| Reporting dashboard | a manager checking whether this period's AP activity is on track and where the exceptions are. | Not for an actionable worklist |
| Parameterized report | whoever must answer a specific question with numbers — an accountant at close, a buyer checking open commitments. | Not for monitoring |
| Issued document | nobody, on screen — this is the artefact the ERP emits: a purchase order sent to a vendor, an invoice, a delivery note travelling with goods. | Not a screen, and not a PDF engine |
| Notification | anyone whose work finishes while they are not watching — a posting run, an export, an approval granted upstream. | Not for work that needs your action |
| Job monitor | whoever is accountable when unattended work fails — an integrations admin, an ops lead, the person the inbox assigned an exception to. | Not for authoring schedules |
| Schedule calendar | — | Not for authoring a schedule |
| Settings & admin | a workspace admin, occasionally a first-time setup wizard. | Not for a single end user's own preferences |
RF / rugged devices
RF / rugged devices — patterns, who they serve, and when not to use them | Pattern | Reach for it when | Not when |
| RF task menu | a warehouse floor worker, first screen after signing into the handheld — every RF shift starts here. | Not for a general app launcher with dozens of destinations |
| RF task queue | a warehouse floor worker after picking a task from the RF task menu — "what's next" for that task type. | Not for editing a line's data on this screen |
| RF goods receipt | a warehouse floor worker, one-handed and often gloved, holding a scanner instead of a mouse. | Not for a desk-based receiving clerk keying a paper packing slip. |
| RF pick | a picker with a gun in one hand and the other on the rack — the highest-volume RF activity in any warehouse. | Not for checking stock without moving it |
| RF putaway | whoever moves what receiving just accepted into its storage bin — the second half of every inbound delivery. | Not the receiving step |
| RF count | whoever walks the aisles for a physical inventory or a cycle count. | Not for correcting a quantity you already know is wrong |
How this page is built, and what it does not cover
Every cell above is extracted from
patterns.json, which is generated from the pattern pages
themselves. Adding a pattern adds a row here with no edit to this file;
rewording a page's opener rewords its row. That is the point — a
hand-written decision flow would be a fifth place the pattern system is
described, free to drift from the other four.
Stated so you can see the gaps rather
than trust the table. Of 39 patterns,
36 state who they are for and
39 state when not to use them; the rest show
— and their page is the answer. The
"not when" column is the pattern's own wrong-choice clause, which
check:wrong-choice requires every page to carry — so a blank
means the generated pattern record has no wrong-choice clause. This page
uses that record directly, so it preserves guidance phrased as
"Never" or "Do not" as well as "Not for" and "Not when".
And a pattern named in a wrong-choice clause is
linked automatically where the clause names one outright. Where it
describes the alternative instead of naming it, the prose stands — the
page it points at is one sentence away, and inventing a link the author did
not write would be this page guessing.