Client workWeb27 Jun 2026 to 19 Sep 2026
Rossi Italian
A three-branch restaurant's single-file site, rebuilt as a trilingual Next.js app. Three languages, one rule held by a test: an uncertified branch never shows a halal claim.
The greeting in three languages: Welcome. 欢迎光临. Selamat datang.
3 locales, 121 message keys each, no English fallback
The halal rule
Try to breakthe rule
Halal claims are regulated in Malaysia, so a branch without certification must never show halal wording, in any language, anywhere. The UI asks mayDisplayHalal(id), and halal-rule.test.ts scans every locale clause by clause.
Certify a branch and its label appears in all three languages. Force the label onto an uncertified branch and watch the test.
- Rejected"Certification in progress" labels, because they still imply a claim.
- Held upWhen a branch was certified in September 2026, the rule needed no change. It reads data, not branch names.
- Where it livesRead how the rule is enforced
Page weight
Measured onthe phone
My first performance pass ran on localhost with no throttling and reported wins a phone never saw. So I profiled the deployed site on a throttled mobile profile, and fixed what it showed.
KB
Above-the-fold transferDown from 941 KB. Bytes through Netlify's image optimiser fell from 856 KB to 459 KB.
Sections visible at 500 ms
The reveal held content at opacity 0 until JavaScript ran. Driving it from CSS view() timelines fixed it, and 38 of 38 are visible with JavaScript off.
The largest image
The navigation logo: 46 KB requested at w=1920 for a wordmark about 120 px wide.
Blur-up placeholders
21KB
Of render-blocking HTML, so they went.