The owner edits
Spreadsheet
Everything the owner writes, job openings included. An importer checks every row with zod before it can ship.
Client work4 May 2026 to 30 Aug 2026Web
A heritage beef noodle restaurant, online in six languages. The owner keeps it current from a spreadsheet, the till system owns the menu, and every build writes 130 static pages.
A departure board flips the words beef noodle soup through the site's six languages.
Site locales
One noodle, three spellings: 面麵麺. The Chinese and Japanese boards share 牛肉 and flip only the last character.
No runtime CMS. Production is static files built from git.
The owner keeps the site current without calling me. A spreadsheet holds what the owner writes and the till system holds the menu, prices and photos, while git keeps the code and design. Every build turns them into static pages in all six languages.
The owner edits
Everything the owner writes, job openings included. An importer checks every row with zod before it can ship.
Source of truth
A headless browser reads the till's public ordering page. The first full refresh brought in 54 items and 49 HD photos.
Every build
A bad row fails validation instead of shipping.
Output
130static pages per build, in six languages
Review
A GitHub Action opens a labelled pull request for every content change, so each one is a reviewable diff.
Job openings
The owner posts in a Careers tab and opens a bookmarked build hook. The change is live about 2 minutes later.
Branches
Prices are rows keyed by item and branch, so refreshing one branch never touches another's.