Skip to content

UX quick wins: public hero + Report issue + mobile nav + wording - #26

Merged
Roy101 merged 1 commit into
mainfrom
ux-quick-wins-report-mobile-credits
Oct 7, 2026
Merged

Roy101 merged 1 commit into
mainfrom
ux-quick-wins-report-mobile-credits

Conversation

@Roy101

@Roy101 Roy101 commented Oct 7, 2026

Copy link
Copy Markdown
Collaborator

Addresses the external UX review from Oct 2026. One PR; the bigger landing/workspace split + per-section tabs are deferred to a follow-up.

Public hero before verification

Previously the first visible experience was a Turnstile modal over a blurred page. Visitors couldn't read what the thing was before being asked to prove they're human - which reads as "we don't want you here" even though we do.

  • ensureAuth() no longer force-shows the gate on page load.
  • New ensureWorkspaceAuth() is awaited by submit() right before firing a job - the gate appears only when a visitor actually tries to run work.
  • Returns false (with a toast) if the user closes the modal, so the cancel path is explicit.

Nav + Report-an-issue + Request-API-access

  • Two new nav items: "Report issue" (deep-links to a prefilled bug_report GitHub issue template) and "Request API access" (mailto with pre-filled subject + prompt for use case).
  • .nav-util style - softer colour than the section anchors so the utility items don't crowd the primary nav visually.
  • "Report an issue" also appears as a tertiary button in the hero CTA row so a user who hit a bug can escape the broken flow without scrolling to the top.

Mobile navigation

  • The <600px breakpoint used to hide every nav link except GitHub. Visitors on a phone had no way to reach Library / Jobs / Docs, let alone report a bug.
  • Replaced with a
    Details disclosure: shows a "Menu" button that reveals the full nav stacked vertically, with 44px tap targets (iOS spec). Also wraps topbar so the brand stays on the top row and the toggle sits beside it.

Larger form hints + touch targets

  • .hint-inline bumped from 11.5px to 13px with proper line-height so help text is legible instead of squinted at.
  • .grid input/select/textarea gets min-height: 40px + bigger font so the forms land under a thumb instead of looking crammed.

Wording accuracy

  • Lead paragraph: "any HuggingFace encoder" is now specifically "BERT & RoBERTa-family encoders from the HuggingFace Hub" and the "no labels" claim is qualified for TIES / DARE / WUDI / PCB / averaging, with an explicit note that architecture merge does need a validation slice.
  • Terminal demo header labelled "illustrative, not a live run" so its timings aren't misread as live measurements.

Research credibility strip

  • New .credits row under the hero CTA with Paper (ASE 2026 Tool Track + cite link to CITATION.cff), Code (GitHub), Maintainer (mailto), and a live Version pill populated from /api/health - so a reader can tell which release they're looking at without opening devtools.

Deferred to follow-up PRs (reviewer's "layout refresh" bucket):

  • Full landing/workspace separation (/ vs /app routing).
  • Tabs for Inspect / Merge / Evaluate / Export (currently one long scroll).
  • Collapse advanced merge parameters into
    Details sections.
  • Horizontally scrollable log pane on phones.
  • Review-logs-before-sharing flow for the Report Issue button.

107 pass + 6 skipped locally; ruff clean; frontend/app.js parses through acorn (ecma2022, as CI runs).

Summary

Risk + rollback

Testing

  • pytest passes locally
  • If touching the server: smoke-tested with python server/app.py and a curl against the changed endpoint
  • If touching the UI: hard-refreshed the browser and clicked through
  • If touching presets/data: verified the preset validator in .github/workflows/ci.yml still passes

Deploy note (fill if the merge needs an operator action beyond git pull && systemctl restart)

Addresses the external UX review from Oct 2026. One PR; the bigger
landing/workspace split + per-section tabs are deferred to a
follow-up.

Public hero before verification
-------------------------------
Previously the first visible experience was a Turnstile modal over a
blurred page. Visitors couldn't read what the thing was before being
asked to prove they're human - which reads as "we don't want you
here" even though we do.

* `ensureAuth()` no longer force-shows the gate on page load.
* New `ensureWorkspaceAuth()` is awaited by `submit()` right before
  firing a job - the gate appears only when a visitor actually tries
  to run work.
* Returns false (with a toast) if the user closes the modal, so the
  cancel path is explicit.

Nav + Report-an-issue + Request-API-access
-------------------------------------------
* Two new nav items: "Report issue" (deep-links to a prefilled
  bug_report GitHub issue template) and "Request API access"
  (mailto with pre-filled subject + prompt for use case).
* `.nav-util` style - softer colour than the section anchors so the
  utility items don't crowd the primary nav visually.
* "Report an issue" also appears as a tertiary button in the hero
  CTA row so a user who hit a bug can escape the broken flow without
  scrolling to the top.

Mobile navigation
-----------------
* The <600px breakpoint used to hide every nav link except GitHub.
  Visitors on a phone had no way to reach Library / Jobs / Docs, let
  alone report a bug.
* Replaced with a <details class="nav-mobile"> disclosure: shows a
  "Menu" button that reveals the full nav stacked vertically, with
  44px tap targets (iOS spec). Also wraps `topbar` so the brand
  stays on the top row and the toggle sits beside it.

Larger form hints + touch targets
---------------------------------
* `.hint-inline` bumped from 11.5px to 13px with proper line-height
  so help text is legible instead of squinted at.
* `.grid input/select/textarea` gets `min-height: 40px` + bigger
  font so the forms land under a thumb instead of looking crammed.

Wording accuracy
----------------
* Lead paragraph: "any HuggingFace encoder" is now specifically
  "BERT & RoBERTa-family encoders from the HuggingFace Hub" and the
  "no labels" claim is qualified for TIES / DARE / WUDI / PCB /
  averaging, with an explicit note that architecture merge *does*
  need a validation slice.
* Terminal demo header labelled "illustrative, not a live run" so
  its timings aren't misread as live measurements.

Research credibility strip
--------------------------
* New `.credits` row under the hero CTA with Paper (ASE 2026 Tool
  Track + cite link to CITATION.cff), Code (GitHub), Maintainer
  (mailto), and a live Version pill populated from /api/health -
  so a reader can tell which release they're looking at without
  opening devtools.

Deferred to follow-up PRs (reviewer's "layout refresh" bucket):
- Full landing/workspace separation (/ vs /app routing).
- Tabs for Inspect / Merge / Evaluate / Export (currently one long
  scroll).
- Collapse advanced merge parameters into <details> sections.
- Horizontally scrollable log pane on phones.
- Review-logs-before-sharing flow for the Report Issue button.

107 pass + 6 skipped locally; ruff clean; frontend/app.js parses
through acorn (ecma2022, as CI runs).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@Roy101
Roy101 merged commit 503d92d into main Oct 7, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant