Skip to main content

UI/UX review checklist

The manual review that the UI/UX designer, QA and the frontend engineers walk at the end of every phase, with Ghostframe screenshots, before the tech lead tags phase-<n>. It complements the automated suite (task e2e, e2e.md); items marked (auto) are also asserted there, and the review only confirms them on screenshots. Specs this checks against: CLAUDE.md (“Layout consistency”, Motion, TS/React), PLAN §4 (click budgets, §4.1 motion, §4.2 decisions), design/README.md principles 1–8, design/interactions.md, and the screen specs in design/screens/. How to record results: one row per failed item in docs/design/review-phase-<n>.md (the format of review-phase-1.md): id, severity, screen, problem (spec), fix, owner. Attach the screenshot path.

Setup

  1. Start the app against the fake venue: task dev:fake (backend 127.0.0.1:8080, Vite http://localhost:5173). Log in with your dev password. For the load items (§15) restart the backend with SESAME_FAKE_VENUE_STRESS=1 (worst-case names, extreme prices and balances, 64 orders, 200 fills, a stale book).
  2. Screenshots go under C:\Users\Administrator\Desktop\sesame-screens\<phase>\ (for example phase-3), named <screen>-<state>-<width>-<theme>.png.

Ghostframe recipe

Every “Ghostframe:” step below uses these calls. Always start from a fresh isolated context, so no cookie, cached theme or dock layout from an earlier review leaks in. Useful measuring script (paste as the function of evaluate_script; pass the row selector):

1. Layout consistency

2. Content-driven sizing

3. Trading safety

4. One number everywhere

5. Trust

6. Every state designed

Capture each state at 1440 and 390 (§ Screenshot pass).

7. Complete interaction states

8. Keyboard and focus

9. Scrolling

10. Viewports

At 768, 1024, 1280, 1440, 1920 and 2560 wide (height 900), and at 390 × 844 portrait and 844 × 390 landscape (Ghostframe emulate with ,mobile,touch[,landscape]):

11. 200% zoom and large system fonts

12. Phone specifics

13. Cross-browser

task e2e covers Chromium, Firefox and WebKit at 1440 and Chromium at 390. Mobile WebKit is configured but crashes on the Windows host (e2e.md); check 390 in Safari on a Mac or iPhone by hand each phase: login, board, a ladder sheet, portfolio.

14. Accessibility

15. Performance under live load

16. Consistency

17. Time

18. Visual simplicity

19. Icons and text

20. Copy

21. Numbers and states

22. Polish and accessibility

23. Alerts and notifications (Phase 4)

Specs: alerts.md and notifications.md. Items marked (auto) are in alerts.spec.ts, notifications.spec.ts and the Phase 4 rows of e2e.md.

Screenshot pass

Capture every row at 1440 × 900 and 390 × 844 (touch), in dark and light, first with the fake venue (task dev:fake), then again with SESAME_FAKE_VENUE_STRESS=1. Save as C:\Users\Administrator\Desktop\sesame-screens\<phase>\<screen>-<state>-<width>-<theme>.png and read each file back before judging it.