Panel: an architecture diagram, store costs, and Spanish that reads as Spanish

The right-hand panel now answers the question the stack list provoked — what
does a client actually install? Capacitor, iOS and Android lead "Built with",
and a new SVG diagram shows the two ways in: customers through the installed
app, staff through the admin dashboard behind Cloudflare Access.

Costs were half-quoted. The stack named Mapbox, Twilio, Resend and Sentry and
priced none of them, so each now states the shape of its bill rather than a
figure that would be wrong at every scale. App store accounts are listed too,
in the client's own name for the same reason the hosting is.

Currency was the serious one. Every figure is US dollars and the panel wrote
them as "$59", but this launches in Mexico, where "$" is the peso — the Spanish
column understated the running cost roughly seventeenfold to the only reader
who matters. money() now prints "$59" in English and "59 USD" in Spanish.

The rest of the Spanish was a literal translation of dense English: peninsular
vocabulary in a Mexican market, two stray vosotros forms among the tuteo, and
calques that were not grammatical — "aplicada en ninguna parte", "todo lo
discontinuo" for dashed lines. Reviewed all 126 strings. The architecture note
was 120 words in one block covering five topics; it is now two paragraphs, one
idea each, and the PostGIS sentence went because "What it does" already makes
that promise in language a client can act on.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
serfa
2026-08-23 14:57:05 -04:00
co-authored by Claude Opus 5
parent 0192585727
commit cb148c3dc8
17 changed files with 894 additions and 73 deletions
+10
View File
@@ -258,6 +258,16 @@ Pill, `1.5px` border, `12px 16px` padding, `body-sm`. Unselected: `ink-200` bord
transparent. Selected: `brand-500` border, `brand-100` fill, weight 600, leading check icon.
Selection must never rely on fill alone.
Three sizes. `md` is the default wherever a chip is a primary choice. `sm` is the dense
horizontal strip — the trade filter fits four across a 390px phone before the fifth is cut off
as a scroll hint. `compact` sits between them, for a **wrapping** list that is still a primary
choice but too long to spend full-size rows on: fifteen trades at `md` fill the job form before
the description field is reachable.
`compact` is about a third shorter than `md` and stays on the 8px grid. It also drops under the
44px target in §8, which is a deliberate trade and only acceptable where the chips wrap with a
gap between them — never for a lone control.
### 6.5 Banner / status card
`radius-card`, 20px padding, 12px icon-to-text gap, tinted surface + matching border: