Projects

Product interface research

AnyReader Interface Teardown

A deep-reading product teardown focused on Markdown structure, math selection, QA anchors, and local/remote workspace boundaries.

StatusActive
Year2026
StackReact / Vite / Markdown / KaTeX / Knowledge UX

AnyReader Interface Teardown

AnyReader is useful as a portfolio case because it is not just another clean UI. It has real product tension: deep reading needs calm surfaces, but the implementation must also handle Markdown, math, selection ranges, local files, remote APIs, QA records, and long-lived anchors.

#The product promise

The promise is not "read Markdown in a prettier way." The promise is slower, deeper understanding: select a passage, ask a question, keep the answer anchored to the source, and return to it later.

That promise is fragile. If math selection breaks, if anchors drift, if remote mode is implied but not implemented by the repo, the product loses trust quickly.

#What the teardown found

The local research found a frontend workbench with a serious domain model. App.tsx coordinates the reading surface, windows, state persistence, QA records, prompt templates, and streaming answers. domain.ts models reader, widget, sidebar, anchors, prompt intents, and repository modes. Markdown and KaTeX rendering are product-critical, not cosmetic.

The important criticism is also simple: the README-level cloud promise is broader than what the UI repo alone implements. That is acceptable only if the boundary is documented. Product confidence comes from saying where the frontend ends and where the backend contract begins.

#Why it belongs here

This case gives Ray Studio a genuinely external product analysis surface. It shows UI/UX judgment, codebase reading, risk prioritization, and a bias toward engineering guardrails before more features.

Evidence Pack

Proof you can inspect

Case Study Diff

What changed

Change 01

Separate the reader from the cloud promise

Before

The README promise could be read as a complete cloud knowledge system.

Constraint

The critique could only claim what the public UI repository and live surface actually expose.

After

The teardown separates the frontend reader, local Vite file bridge, remote API contract, and external backend responsibilities.

ProofThe codebase research maps App.tsx, bootstrap-local, bootstrap-remote, api.ts, markdown.tsx, and domain.ts as distinct system boundaries.Open evidence
Change 02

Protect reading fidelity before expanding AI features

Before

More AI reading features looked like the obvious next step.

Constraint

Math, selection anchors, local vault behavior, and remote mode must stay trustworthy before new workflow promises are added.

After

The higher-leverage next step is testing math rendering, selection anchors, QA records, mounted vault behavior, and remote/local mode documentation.