⌂ Home ☷ Board

MC Mobile UX Audit — KIMI Review Track

Date: 2026-05-19 Viewport tested: 375 x 812 (mobile, deviceScaleFactor 2, isMobile) Pages: Runtime Workbench, Briefings, Reports Method: Playwright headless screenshots + own analysis + Kimi (kimi-for-coding CLI) second opinion Screenshots: /tmp/mux-kimi-{page}-{fold,full}.png

No horizontal overflow on any page (scrollW == clientW == 375 everywhere). Viewport meta present on all three. Core mobile problems are touch-target size, list weight (no pagination/virtualization), and native <audio> players in dense lists.


PAGE 1: Runtime Workbench (/runtime-workbench)

Screenshots: /tmp/mux-kimi-runtime-workbench-fold.png, -full.png

Major

Minor

Polish


PAGE 2: Briefings (/briefings)

Screenshots: /tmp/mux-kimi-briefings-fold.png, -full.png (full page ~50,000px tall)

Blocker

Major

Minor


PAGE 3: Reports (/reports)

Screenshots: /tmp/mux-kimi-reports-fold.png, -full.png (full page ~37,600px tall)

Blocker

Major

Minor


Cross-cutting themes

  1. No list virtualization/pagination — Briefings (95) and Reports (120) ship the entire dataset to the DOM. Worst on Briefings because of 95 live media elements.
  2. Touch targets systemically under 44px — 405 (Briefings) + 535 (Reports) + 1 (Workbench). A global button-sizing rule fixes most of it cheaply.
  3. Native <audio> in dense lists — Briefings only; replace with a custom play affordance + single sticky player.
  4. 6-item fixed bottom nav — too tight at 375px on all three pages.

Issue count by severity

Severity Count
Blocker 3
Major 6
Minor 6
Polish 1
Total 16

Top 3 issues overall

  1. Briefings renders 95 native audio players + 17 tables + 95 cards at once (~50,000px, 690KB HTML) — Blocker. Real crash/jank risk on phones. Paginate + lazy-init audio.
  2. 535 sub-44px tap targets on Reports (and 405 on Briefings) — Blocker. Touch interaction unreliable across the app; Delete buttons mis-tappable. Enforce 44px minimums + bottom-sheet action menus.
  3. Native HTML5 audio controls inside every Briefings card — Major. ~32px player with 18-24px internal buttons, unusable in a stacked mobile list. Replace with a 48px custom play button feeding one sticky bottom player.