[feat](insights): group the landing into four lenses + three activities - #66
Merged
Conversation
The Insights tab renders seven cards in one flat grid, and that is the main
reason it reads as daunting: four of those cards — Catalog, Playbook, Review,
Library — are the SAME 21 architectures seen from four angles, while the other
three are activities you do. Every architecture appears in all four lenses, and
each page already carries a switcher to jump between them. Flattened into seven
peers, that reads instead as seven separate libraries to work through, which is
both wrong and discouraging.
The codebase already knew the structure — src/config/sections.ts says "the four
architecture lenses plus Roadmap, Academy, Lab" in a comment — but the UI never
said it. This states it where the reader is: two labelled groups, each with a
line explaining what the group IS ("four ways of reading the same 21
architectures — not four separate libraries").
Adds an "Open this when…" line to every card. The existing `desc` fields say
what a section CONTAINS, which is not the question someone facing seven cards is
asking; they are asking which to click, and that is decided by what they are
trying to do right now. So these are phrased as circumstances: "open this when
you hit a term you do not recognise", "…when you have decided and now have to
build it", "…when you want to see a trade-off move instead of reading about it".
Guide §8 rewritten to match, from a one-sentence list of seven names into four
paragraphs: the 4+3 split and why it matters, each lens by the question it
answers, the three practice sections, and two things worth knowing first — that
Guided/Expert changes reading depth across the whole tab, and that the articles
themselves are in English by product decision while the navigation follows the
chosen language.
Bundle: initial JS 121→122kB. Those 11 dict keys are only READ on a lazy tab,
but `dict` is a single object literal, so Vite cannot tree-shake properties and
every key costs first paint wherever it is used. That is a known, accepted
property of this i18n design rather than a regression introduced here; recorded
inline so the next raise is judged on the same terms. Total 284, NFR cap 300.
Gates: tsc clean, lint 0 warnings, 241/241 unit (2 new pinning the grouping and
the one-line-per-section routing), 14/14 E2E, 7/7 guards. Landing verified in
both languages at 390px and 1440px: correct group headings, 7 cards, 7 routing
lines, 0 axe violations (WCAG 2.0/2.1 A+AA), no horizontal overflow.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The finding
The Insights tab renders seven cards in one flat grid — and that is the main reason it reads as daunting.
Four of those cards (Catalog, Playbook, Review, Library) are the same 21 architectures seen from four angles. Every architecture appears in all four, and each page already carries a switcher to jump between them. The other three (Roadmap, Academy, Lab) are activities you do.
Flattened into seven peers, that reads as seven separate libraries to work through — both wrong and discouraging.
The codebase already knew this.
src/config/sections.tssays "the four architecture lenses plus Roadmap, Academy, Lab" — in a comment. The UI never said it.What changed
Two labelled groups, each stating what the group is:
An "Open this when…" line on every card. The existing
descfields say what a section contains — not the question someone facing seven cards is asking. They are asking which to click, decided by what they are trying to do right now. So these are phrased as circumstances:Guide §8 rewritten from a one-sentence list of seven names into four paragraphs: the 4+3 split and why it matters, each lens by the question it answers, the three practice sections, and two things worth knowing first — that Guided/Expert changes reading depth across the whole tab, and that the articles are in English by product decision while the navigation follows your language.
Bundle — stated plainly
Initial JS 121→122kB. Those 11 dict keys are only read on a lazy tab, but
dictis a single object literal, so Vite cannot tree-shake properties — every key costs first paint wherever it is used. That is a known, accepted property of this i18n design rather than something introduced here; recorded inline so the next raise is judged on the same terms. Total 284, NFR cap 300.Gates
tsc clean · lint 0 warnings · 241/241 unit (2 new, pinning the grouping and one routing line per section) · 14/14 E2E · 7/7 guards.
Landing verified in both languages at 390px and 1440px: correct group headings, 7 cards, 7 routing lines, 0 axe violations (WCAG 2.0/2.1 A+AA), no horizontal overflow.
🤖 Generated with Claude Code