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.

    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.