Skip to content

Rewrite UX: one call for all bullets vs per-bullet trigger #50

Description

@s-annam

Context

PR #49 flattened per-bullet feedback and made the WebLLM "Rewrite" affordance a slim inline link on each failing bullet. That's a clear improvement over a bordered button per row, but it still surfaces one rewrite trigger per failing bullet (13 on a typical resume).

Question to settle

Is per-bullet, on-demand rewrite the right model — or should there be a single action that rewrites all flagged bullets at once (one model load, batched inference, results shown inline per bullet)?

Considerations

  • Model load cost: the ~1.2 GB Qwen2-1.5B download is the dominant cost and is one-time/cached. A single "Rewrite all" amortizes the first-load wait across every bullet instead of paying the perceived cold-start on the first individual click.
  • Repeated-action anti-pattern: a per-row trigger × N rows is the "repeated actions per row" smell. A single batched action (with per-bullet results) sidesteps it.
  • Control: per-bullet keeps the user in control of which bullets to spend inference on; "rewrite all" is faster but less surgical. A hybrid is possible — "Rewrite all flagged" primary + per-bullet re-roll.
  • WebGPU-only / failing-bullet-only scoping stays the same regardless of trigger model.

Scope

  • Decide the interaction model (single / per-bullet / hybrid).
  • If batched: progress UI for N bullets, partial-failure handling, and where results render.
  • Keep the lazy 1.2 GB load on explicit action only (never on mount).

Follow-up to #39 (rewrite pilot) and #49 (flatten + inline affordance).

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions