# ux.sgit.ai: UX, measured > Where the sgit.ai sites, and the browsers and platforms they are read on, fail their readers, measured, and what fixes it. A register of UX failures and gaps across the sgit.ai sites, each measured on the > live site with a date and version, the principle it breaks, the fix, and (where one exists) a working > prototype of the fix in three design directions. Site version: v0.4.1 (2026-10-25). Content CC BY 4.0. Code Apache 2.0. Author: Dinis Cruz, with AI co-authorship. ## The headline 63 findings across 5 products: 55 still open, 16 of them high severity, 8 fixed. 44 are failures (something works against the reader) and 19 are gaps (something the reader needs is not there). Every count on this site is generated from /data/findings.json. ## Properties agents may rely on - /data/findings.json is the register. Every finding page, list, filter and count is generated from it at build, and the gate fails if a page is stale. - Every finding has a stable page at /findings/.html and a markdown twin at /findings/.md. - Every page has a markdown twin: replace .html with .md, or append index.md to a directory URL. - /findings/?product=&area=&problem=&visibility=&recommendation=&principle=&severity=&status=&kind=&q= is a linkable filter (comma-separate values for OR). /browse/ lists every value of every facet with its count. - /data/taxonomy.json defines the problem, visibility and recommendation vocabularies; /data/site.json defines the products. - Statuses carry the date and version they were last checked. Nothing here claims to be current beyond that date. - /llms-full.txt is the whole site in one fetch. ## The pages /about/ (/about/index.md) Who writes ux.sgit.ai, why the register is public, what it is not, and the licences. /admin/ (/admin/index.md) How ux.sgit.ai is built and checked: the source files, the build, the gate, and what CI enforces. /admin/versions.html (/admin/versions.md) The release history of ux.sgit.ai: each version, its date, what it changed and the files it touched. /browse/ (/browse/index.md) Every index of the register in one place: by product, area, problem, visibility, recommendation, principle, severity, status and kind, each value with its count and a link to the filtered list. /exemplars/EX-001.html (/exemplars/EX-001.md) It is predictable. The trigger is a small distance scrolled, which the reader controls, not the speed of the gesture, so it behaves the same every time and is learned after one or two uses. The collapsed state is small enough to be a fair trade for the space, and getting there costs only a couple of lines of scroll, so the reader never loses their place to reach it. /exemplars/EX-002.html (/exemplars/EX-002.md) Seeing your words appear is proof that they are being captured. It is the reason the reporter uses this input over others: as long as the text keeps appearing, they know the recording is safe, and they can keep their attention on what they are saying. /exemplars/ (/exemplars/index.md) Things that work, each kept as the reference for the findings it answers: measured like a finding, with why it works and what it still does not do. /findings/ (/findings/index.md) The register: every UX failure and gap found on the sgit.ai sites, with status, severity, the principle it breaks and the fix. Filterable, and every filter is a link. / (/index.md) A register of where the sgit.ai sites fail their readers, measured on the live site with a date and a version, the principle each failure breaks, the fix, and a working prototype of it. /lab/ (/lab/index.md) Four encrypted vaults that try the newsroom review's fixes as working prototypes, on the real newsroom data, in three design directions each, before anything changes on the live site. /method/ (/method/index.md) How a UX finding is made here: the reader's path, the stranger test, the review panel, what severity and status mean, and how to file a finding in the register. /principles/ (/principles/index.md) The rules the findings break, each with why it matters, a one-minute test you can run on any page, and the findings that break it. /reviews/ (/reviews/index.md) The full UX reviews the findings come from, published whole, with their date, the version reviewed and the method. /reviews/newsroom-2026-10-11.html (/reviews/newsroom-2026-10-11.md) The UX review of newsroom.sgit.ai (v0.6.4, re-checked on v0.7.1) that seeded this site's register: first visit, findability, the article and its feedback, personas, reader primitives, the publishing pipeline and a roadmap. ## The findings /findings/UX-001.html [open, high, newsroom.sgit.ai, buried-content+builder-chrome, obvious, cut-to-the-essential] The first phone screen explains how the site is built, not what it is about /findings/UX-002.html [open, high, newsroom.sgit.ai, overload, obvious, cut-to-the-essential] The home page is 59 phone screens long, with 845 links /findings/UX-024.html [open, high, newsroom.sgit.ai, preselected-input, subtle, start-empty] All three rating scales start on 3 /findings/UX-025.html [open, high, newsroom.sgit.ai, missing-channel, silent, open-a-channel] Ratings never reach the author /findings/UX-029.html [open, high, newsroom.sgit.ai, silent-change+unlabelled, subtle, say-what-it-is] Opening an article charges a penny with no notice /findings/UX-032.html [open, high, newsroom.sgit.ai, missing-signal, silent, show-it-up-front] Nothing shows real money moving /findings/UX-033.html [open, high, newsroom.sgit.ai, missing-signal, silent, show-it-up-front] It is unclear how a writer gets paid /findings/UX-034.html [open, high, newsroom.sgit.ai, missing-channel, obvious, open-a-channel] No contact for a pilot on the Replicate page /findings/UX-037.html [open, high, newsroom.sgit.ai, inconsistent-facts, silent, generate-from-one-source] Two domains claim to be canonical for the same article /findings/UX-044.html [open, high, newsroom.sgit.ai, hidden-until-script+dead-end, intermittent, render-on-first-load] The founder page says "the picks above" and no picks render on a phone /findings/UX-046.html [open, high, dev.vault.sgraph.ai, host-trap+dead-end, silent, design-for-the-host] Setting location.hash inside a vault app re-navigates the frame: every link silently dead /findings/UX-056.html [open, high, firefox-ipad, focus-hijack+unexpected-movement+wrong-culprit, intermittent, keep-the-ui-still] Scrolling back up a little puts focus in the address bar and opens the keyboard /findings/UX-059.html [open, high, claude-app-ios, uninformed-decision+buried-content+missing-signal, obvious, explain-the-decision] A security prompt that asks you to approve a command it does not explain, and cuts off /findings/UX-060.html [open, high, claude-app-ios, data-loss+unlabelled, obvious, confirm-or-undo] One unlabelled X throws away the whole recording, with no confirmation /findings/UX-063.html [open, high, claude-app-ios, missing-feedback+data-loss, intermittent, show-the-state] The live transcript sometimes stops while you are still speaking, and nothing says whether it is still recording /findings/UX-008.html [open, medium, newsroom.sgit.ai, hidden-until-script, intermittent, render-on-first-load] Content is hidden until JavaScript runs /findings/UX-009.html [open, medium, newsroom.sgit.ai, overload+builder-chrome, obvious, move-to-the-workshop] Two navigation bars, and a 60-link menu that mixes reading with building /findings/UX-010.html [open, medium, newsroom.sgit.ai, dead-end, intermittent, build-the-way-in] Missing pages show the default GitHub Pages 404 /findings/UX-013.html [open, medium, newsroom.sgit.ai, overload, subtle, build-the-way-in] One topic holds more than half the articles /findings/UX-014.html [open, medium, newsroom.sgit.ai, dead-end, obvious, make-it-a-link] Tags are not links, and there are no tag pages /findings/UX-015.html [open, medium, newsroom.sgit.ai, unshareable-view, silent, make-it-a-link] Filters cannot be shared /findings/UX-016.html [open, medium, newsroom.sgit.ai, missing-way-in, silent, build-the-way-in] Series are invisible /findings/UX-017.html [open, medium, newsroom.sgit.ai, missing-way-in, subtle, build-the-way-in] There is no "start here" path /findings/UX-018.html [open, medium, newsroom.sgit.ai, missing-signal, subtle, show-it-up-front] Cards do not show reading time or format /findings/UX-020.html [open, medium, newsroom.sgit.ai, buried-content, obvious, show-it-up-front] The best reader feature is buried under metadata and a long italic abstract /findings/UX-022.html [open, medium, newsroom.sgit.ai, missing-signal, subtle, show-it-up-front] The byline names one human; the AI authorship is in the footer /findings/UX-023.html [open, medium, newsroom.sgit.ai, missing-signal, silent, build-the-way-in] There is no page that says why the publication exists /findings/UX-027.html [open, medium, newsroom.sgit.ai, unconsented-state, subtle, ask-first] Articles join the reader's list without being asked /findings/UX-030.html [open, medium, newsroom.sgit.ai, alarming-wording, subtle, say-what-it-is] "Credit can go below zero" reads as a debt /findings/UX-038.html [open, medium, newsroom.sgit.ai, inconsistent-facts, subtle, generate-from-one-source] Three different article counts /findings/UX-043.html [open, medium, newsroom.sgit.ai, unconsented-state, silent, ask-first] Opening a persona link adds it to the browser without asking /findings/UX-045.html [open, medium, newsroom.sgit.ai, missing-signal, subtle, build-the-way-in] Persona pages are a list, with no story, opinion or next step /findings/UX-047.html [open, medium, dev.vault.sgraph.ai, host-trap+data-loss, intermittent, design-for-the-host] localStorage throws inside the vault app frame, so reader data is lost on reload /findings/UX-057.html [open, medium, firefox-ipad, unexpected-movement+lost-screen-space, obvious, keep-the-ui-still] The toolbars come back on any small scroll up, taking screen and moving the page /findings/UX-058.html [open, medium, firefox-ipad, unpredictable-control+unexpected-movement+lost-screen-space, intermittent, make-it-predictable] Whether the toolbars hide depends on how fast you scroll, not how far /findings/UX-061.html [open, medium, claude-app-ios, unlabelled+uninformed-decision, obvious, say-what-it-is] Three voice controls with no labels: the safe one and the send-as-is one sit side by side /findings/UX-005.html [open, low, newsroom.sgit.ai, builder-chrome, subtle, move-to-the-workshop] The version number is shown three times on the first screen /findings/UX-006.html [open, low, newsroom.sgit.ai, builder-chrome+buried-content, obvious, move-to-the-workshop] A "For agents /llms.txt" strip sits above the masthead /findings/UX-007.html [open, low, newsroom.sgit.ai, missing-signal, subtle, write-for-a-stranger] The editor's note is written for someone who read the last two editions /findings/UX-011.html [open, low, newsroom.sgit.ai, dead-end, silent, check-at-build] Links without extensions in one article /findings/UX-012.html [open, low, newsroom.sgit.ai, overload, subtle, cut-to-the-essential] Each article ends with seven next steps instead of one /findings/UX-019.html [open, low, newsroom.sgit.ai, missing-way-in, subtle, build-the-way-in] Search only matches titles, teasers and tags /findings/UX-021.html [open, low, newsroom.sgit.ai, builder-chrome, obvious, move-to-the-workshop] Author tooling is shown to every reader /findings/UX-026.html [open, low, newsroom.sgit.ai, missing-channel, silent, open-a-channel] There is no way to say what was missing /findings/UX-031.html [open, low, newsroom.sgit.ai, alarming-wording, subtle, say-what-it-is] "You pay the price" reads as a warning /findings/UX-039.html [open, low, newsroom.sgit.ai, inconsistent-facts, subtle, generate-from-one-source] The feed is titled for the old site /findings/UX-040.html [open, low, newsroom.sgit.ai, stale-claim, subtle, date-the-claim] The study page reports a fixed bug as current /findings/UX-048.html [open, low, dev.vault.sgraph.ai, host-trap, silent, design-for-the-host] A vault app can load images and scripts from a site but cannot fetch its data /findings/UX-049.html [open, low, dev.vault.sgraph.ai, host-trap+unshareable-view, silent, design-for-the-host] Query strings break inside the vault host, so filters must live in the route path /findings/UX-052.html [open, low, newsroom-design-lab, data-loss, subtle, say-what-it-is] A highlight across paragraphs is cut at the first paragraph /findings/UX-053.html [open, low, newsroom-design-lab, missing-signal, subtle, show-it-up-front] Search results show no snippets /findings/UX-054.html [open, low, newsroom-design-lab, unlabelled, obvious, say-what-it-is] Stacked tables on a phone lose their column labels /findings/UX-055.html [open, low, newsroom-design-lab, untested-path, silent, test-where-readers-are] "Ask the article" has never run against a real on-device model /findings/UX-062.html [open, low, claude-app-ios, silent-change, subtle, show-what-changed] The transcript is cleaned up in a second pass without saying when, or what changed /findings/UX-028.html [partly-fixed, high, newsroom.sgit.ai, unlabelled, obvious, say-what-it-is] The £5.00 balance chip has no label /findings/UX-035.html [fixed, high, newsroom.sgit.ai, inconsistent-facts+alarming-wording, obvious, say-what-it-is] The top-up page said "simulated" while asking for money /findings/UX-036.html [fixed, high, newsroom.sgit.ai, inconsistent-facts, silent, generate-from-one-source] Articles were published on two domains, and diverged /findings/UX-041.html [fixed, high, newsroom.sgit.ai, dead-end, obvious, check-at-build] 51 vault images missing across 10 articles /findings/UX-042.html [fixed, high, newsroom.sgit.ai, missing-way-in, silent, build-the-way-in] Persona links were designed but not live /findings/UX-003.html [fixed, medium, newsroom.sgit.ai, missing-signal, subtle, show-it-up-front] The masthead line describes a method, not a subject /findings/UX-004.html [fixed, medium, newsroom.sgit.ai, stale-claim, subtle, date-the-claim] The edition label is older than the articles under it /findings/UX-050.html [fixed, medium, newsroom-design-lab, layout-overflow, obvious, check-at-build] File-path pills scrolled the whole page sideways at 390 px /findings/UX-051.html [fixed, medium, newsroom-design-lab, unexpected-movement, obvious, keep-the-ui-still] Re-rendering the whole view on every save lost the reader's place ## What good looks like /exemplars/EX-001.html [safari-ipad, answers UX-058+UX-057] Safari on iPad hides its toolbars the same way every time, after a small scroll /exemplars/EX-002.html [claude-app-ios, answers UX-063] Dictation that shows your words as you speak them ## The sibling sites https://sgit.ai/: the parent project https://newsroom.sgit.ai/: the publication this site reviews first https://coding.sgit.ai/: how the code is written https://nfrs.sgit.ai/: the non-functional requirements, from the inside https://graphs.sgit.ai/: semantic graphs and the visual layer Repository: https://github.com/SGit-AI/SGit-AI__Website__UX