|
| 1 | +--- |
| 2 | +target: docs/src/pages/index.astro |
| 3 | +total_score: 27 |
| 4 | +p0_count: 0 |
| 5 | +p1_count: 2 |
| 6 | +timestamp: 2026-05-16T22-22-50Z |
| 7 | +slug: docs-src-pages-index-astro |
| 8 | +--- |
| 9 | +# Impeccable Critique: rinha2-back-end-rust homepage |
| 10 | + |
| 11 | +## Design Health Score |
| 12 | + |
| 13 | +| # | Heuristic | Score | Key Issue | |
| 14 | +|---|---:|---:|---| |
| 15 | +| 1 | Visibility of System Status | 2 | Benchmark numbers are visible, but latest/best/target provenance is not explicit. | |
| 16 | +| 2 | Match System / Real World | 3 | Rust-industrial mood fits the challenge and audience. | |
| 17 | +| 3 | User Control and Freedom | 3 | Clear docs/GitHub/report paths; no complex flows. | |
| 18 | +| 4 | Consistency and Standards | 3 | Strong palette and component consistency, but repeated card grammar dominates. | |
| 19 | +| 5 | Error Prevention | 2 | Not flow-heavy, but users can misread unsupported metric claims because source context is missing. | |
| 20 | +| 6 | Recognition Rather Than Recall | 3 | Key stack and metrics are visible; architecture details require reading docs. | |
| 21 | +| 7 | Flexibility and Efficiency | 2 | Technical reviewers need faster access to latest run, workflow, source, and architecture proof. | |
| 22 | +| 8 | Aesthetic and Minimalist Design | 2 | Attractive, but too much generic hero, badges, card grids, glow, and gradient text. | |
| 23 | +| 9 | Error Recovery | 3 | Mostly static navigation, low risk; report links are present. | |
| 24 | +| 10 | Help and Documentation | 4 | Docs, GitHub, CI, reports, and archive links are surfaced. | |
| 25 | +| **Total** | | **27/40** | **Good foundation, needs proof-first restructuring.** | |
| 26 | + |
| 27 | +## Anti-patterns Verdict |
| 28 | + |
| 29 | +**LLM assessment:** Not AI slop, but it is close to the common dark developer landing template: centered hero, gradient-filled headline, pill badges, paired CTAs, rounded metric cards, glow/cog decoration, and repeated card grids. The content itself is credible and specific, which saves it from generic AI-site territory. |
| 30 | + |
| 31 | +**Deterministic scan:** `npx impeccable detect --json src/pages/index.astro src/components/home src/layouts/BaseLayout.astro` returned one warning: `single-font` in `BaseLayout.astro`, reporting only Fira Code from linked font detection. Source inspection shows the broader issue is not literally one font, but mono-heavy body styling in `globals.css`. |
| 32 | + |
| 33 | +**Technical audit:** Build succeeds with Bun/Astro. DESIGN.md lint passes with 0 errors and 7 non-blocking warnings for intentionally defined but currently unreferenced auxiliary tokens. |
| 34 | + |
| 35 | +## Audit Health Score |
| 36 | + |
| 37 | +| Dimension | Score | Key Finding | |
| 38 | +|---|---:|---| |
| 39 | +| Accessibility | 2/4 | Reduced-motion support exists, but muted text, orange-on-dark edge cases, gradient text, and focus-state visibility need a dedicated pass. | |
| 40 | +| Performance | 3/4 | Static Astro build is lean; ambient particles, cogs, glow, and backdrop blur should remain bounded. | |
| 41 | +| Responsive Design | 3/4 | Mobile breakpoints exist for core grids and CTAs; overhaul should test historical reports and nav density on narrow screens. | |
| 42 | +| Theming | 2/4 | CSS variables exist, but palette is hex/RGBA mixed and not yet aligned to the new DESIGN.md token contract. | |
| 43 | +| Anti-patterns | 2/4 | Gradient text, generic card grids, glow-heavy dark dev aesthetic, and mono-heavy copy are the main tells. | |
| 44 | +| **Total** | **12/20** | **Acceptable, but the redesign should harden the design system.** | |
| 45 | + |
| 46 | +## Overall Impression |
| 47 | + |
| 48 | +The page has a strong Rust-industrial mood and useful proof artifacts, but it currently presents them through a familiar landing-page shell. The biggest opportunity is to turn it from an attractive dark developer landing page into a compact benchmark evidence machine. |
| 49 | + |
| 50 | +## What's Working |
| 51 | + |
| 52 | +1. **Distinct palette:** deep brown-black, oxidized orange, copper metrics, and warm muted text are coherent and worth preserving. |
| 53 | +2. **Memorable hero:** “Blazingly Fast. Eventually Compiled.” has Rust-native personality without becoming pure meme copy. |
| 54 | +3. **Real artifacts:** docs, GitHub, CI workflow, and historical stress reports make the page more credible than a generic speed-claim page. |
| 55 | + |
| 56 | +## Priority Issues |
| 57 | + |
| 58 | +### [P1] Benchmark proof lacks provenance |
| 59 | + |
| 60 | +**Why it matters:** Technical reviewers need to know whether `46k+`, `<50ms`, and `99.9%` are latest, best, target, or representative values. Without source context, the page asks users to trust marketing-like claims. |
| 61 | + |
| 62 | +**Fix:** Convert the stress metrics into a “latest verified run” module with timestamp, workflow source, report link, environment note, and constraint confirmation. |
| 63 | + |
| 64 | +**Suggested command:** `impeccable layout`, then `impeccable clarify`. |
| 65 | + |
| 66 | +### [P1] Architecture is too small for its importance |
| 67 | + |
| 68 | +**Why it matters:** The implementation strategy is the differentiator: NGINX, two Actix instances, PostgreSQL stored procedures, strict CPU/RAM. Current prose cards undersell this. |
| 69 | + |
| 70 | +**Fix:** Replace architecture cards with a compact system schematic and resource allocation rail. |
| 71 | + |
| 72 | +**Suggested command:** `impeccable layout`. |
| 73 | + |
| 74 | +### [P2] Repeated card grids make the page feel templated |
| 75 | + |
| 76 | +**Why it matters:** The aesthetic is good, but generic cards flatten the story and trigger the “AI/devtool template” reflex. |
| 77 | + |
| 78 | +**Fix:** Vary component grammar: resource meters, architecture rails, report rows, terminal/source plaques, and latest-run strips. |
| 79 | + |
| 80 | +**Suggested command:** `impeccable bolder` or `impeccable overdrive` with same-aesthetic constraint. |
| 81 | + |
| 82 | +### [P2] Typography overuses monospace and uppercase |
| 83 | + |
| 84 | +**Why it matters:** Monospace everywhere reduces readability and makes the page feel more like costume terminal UI than serious technical communication. |
| 85 | + |
| 86 | +**Fix:** Inter for body/prose, JetBrains Mono for instrumentation labels, code, metrics, timestamps, and badges. |
| 87 | + |
| 88 | +**Suggested command:** `impeccable typeset`. |
| 89 | + |
| 90 | +### [P2] Gradient text and decorative glow conflict with the new design contract |
| 91 | + |
| 92 | +**Why it matters:** The headline looks polished, but gradient-filled text is banned in the Impeccable system and is a common AI landing-page tell. |
| 93 | + |
| 94 | +**Fix:** Use solid copper/tinted text, typographic scale, tracking, and maybe a physical shadow/engraving treatment instead of gradient fill. |
| 95 | + |
| 96 | +**Suggested command:** `impeccable polish`. |
| 97 | + |
| 98 | +## Persona Red Flags |
| 99 | + |
| 100 | +**Backend engineer comparing implementations:** Needs architecture, stored procedure strategy, and bottleneck tradeoffs faster than the current page provides. |
| 101 | + |
| 102 | +**Rinha participant or reviewer:** Needs proof that numbers are under challenge constraints and a clearer latest/best/report archive model. |
| 103 | + |
| 104 | +**Rust developer from GitHub/search:** Needs quick reasons to inspect the repo: ~140-line API, SQLx compile checks, stored procedures, unlogged tables, GHCR image. |
| 105 | + |
| 106 | +**Accessibility-conscious technical user:** May struggle with muted text, all-caps density, mono-heavy paragraphs, and decorative motion if not carefully constrained. |
| 107 | + |
| 108 | +## Same-aesthetic Overhaul Plan |
| 109 | + |
| 110 | +### North Star |
| 111 | + |
| 112 | +Preserve the dark Rust-industrial brand, but shift the page from `hero + cards` into `benchmark rig + evidence trail`. |
| 113 | + |
| 114 | +### Proposed IA |
| 115 | + |
| 116 | +1. **Hero + latest verified run:** split first viewport, headline on the left, current run evidence panel on the right. |
| 117 | +2. **Constraint ledger:** CPU and RAM budget as segmented bars for NGINX, API 1, API 2, PostgreSQL. |
| 118 | +3. **Architecture schematic:** NGINX to Actix instances to PostgreSQL stored procedures, with ports and resource caps. |
| 119 | +4. **Implementation proof strip:** ~140 lines, SQLx offline cache, stored procedures, unlogged tables, least_conn, GHCR image. |
| 120 | +5. **Stress-test archive:** convert date chips into compact audit rows with run date, status, headline metric, and report link. |
| 121 | +6. **Docs/GitHub footer CTA:** quieter, with explicit “read architecture,” “inspect source,” and “open latest report.” |
| 122 | + |
| 123 | +## A/B Testing Plan |
| 124 | + |
| 125 | +### Test 1: Hero proof density |
| 126 | + |
| 127 | +- **Hypothesis:** Putting verified benchmark proof in the first viewport increases trust and report engagement. |
| 128 | +- **A/control:** Current centered hero, badges, CTAs, metrics below. |
| 129 | +- **B:** Split hero with latest verified run panel above the fold. |
| 130 | +- **C:** Constraint-first hero: `Rust banking API under 1.5 CPU / 550MB RAM`, with proof strip below. |
| 131 | +- **Primary metric:** report link clicks and docs clicks. |
| 132 | +- **Recommendation:** Try B first. It preserves the current hero while adding proof. |
| 133 | + |
| 134 | +### Test 2: Architecture presentation |
| 135 | + |
| 136 | +- **Hypothesis:** A schematic improves comprehension and increases GitHub/docs clicks. |
| 137 | +- **A/control:** Current two prose architecture cards. |
| 138 | +- **B:** NGINX → API/API → PostgreSQL diagram with ports and CPU/RAM. |
| 139 | +- **C:** Resource-budget rail first, diagram second. |
| 140 | +- **Primary metric:** docs architecture clicks, scroll depth, GitHub clicks. |
| 141 | +- **Recommendation:** Try B first. It is clearer without changing narrative order too much. |
| 142 | + |
| 143 | +### Test 3: Metric provenance |
| 144 | + |
| 145 | +- **Hypothesis:** Metrics with timestamp/source outperform standalone metric cards. |
| 146 | +- **A/control:** Current `46k+`, `<50ms`, `99.9%` cards. |
| 147 | +- **B:** Each metric includes source label and links to latest report. |
| 148 | +- **C:** One “latest run” module plus historical trend sparkline/list. |
| 149 | +- **Primary metric:** latest report clicks, CI workflow clicks. |
| 150 | +- **Recommendation:** Try C if implementation budget allows; otherwise B. |
| 151 | + |
| 152 | +### Test 4: Typography readability |
| 153 | + |
| 154 | +- **Hypothesis:** Proportional body copy improves reading and scroll depth without weakening the technical mood. |
| 155 | +- **A/control:** Current mono-heavy body and uppercase labels. |
| 156 | +- **B:** Inter body, JetBrains Mono only for instrumentation. |
| 157 | +- **C:** Same as B plus fewer repeated all-caps labels and stronger contrast. |
| 158 | +- **Primary metric:** scroll depth and docs click-through. |
| 159 | +- **Recommendation:** Try B first because it matches DESIGN.md. |
| 160 | + |
| 161 | +### Test 5: Report archive format |
| 162 | + |
| 163 | +- **Hypothesis:** Audit rows make reports feel more credible than date chips. |
| 164 | +- **A/control:** Current date/time grid. |
| 165 | +- **B:** Compact table rows: date, time, status, headline metric, open report. |
| 166 | +- **C:** Timeline rail grouped by day with latest/best badges. |
| 167 | +- **Primary metric:** report clicks and “view all reports” clicks. |
| 168 | +- **Recommendation:** Try B first for clarity and mobile resilience. |
| 169 | + |
| 170 | +## Recommended Actions |
| 171 | + |
| 172 | +1. `impeccable layout`: Rework homepage IA around latest verified run, constraint ledger, and architecture schematic. |
| 173 | +2. `impeccable typeset`: Move body copy to Inter and reserve JetBrains Mono for instrumentation. |
| 174 | +3. `impeccable clarify`: Tighten claims and label metrics with source/provenance. |
| 175 | +4. `impeccable adapt`: Verify mobile layout for report archive and architecture schematic. |
| 176 | +5. `impeccable polish`: Remove gradient text, improve focus/contrast, and refine motion. |
0 commit comments