The King & Queen of the Computer, in the land of Omarchy. Live at omarchs.fyi.
A single Cloudflare Worker serves the page and both portraits — no build step, no bucket.
index.html— the pageworker.mjs— Worker entry: serves the HTML, the portraits, redirects www → apexomarch-king.jpeg/omarch-queen.jpeg— Their Majesties (uploaded asking.jpeg/queen.jpegmodules)bin/serve— local preview with live reloadog.jpeg— 1200×630 Open Graph card (both monarchs, gold divider)
bin/serve # http://localhost:3000 (pass a port to change it)Serves the same routes as the Worker, straight from disk. Saving index.html reloads the browser.
Upload the Worker as multipart modules (module names come from the filename= attribute):
curl -X PUT "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/workers/scripts/omarchs" \
-H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
-F 'metadata={"main_module":"worker.mjs","compatibility_date":"2026-08-01"};type=application/json' \
-F '[email protected];type=application/javascript+module;filename=worker.mjs' \
-F '[email protected];type=text/plain;filename=index.html' \
-F '[email protected];type=application/octet-stream;filename=king.jpeg' \
-F '[email protected];type=application/octet-stream;filename=queen.jpeg' \
-F '[email protected];type=application/octet-stream;filename=og.jpeg'Long may they reign. Long may they compile.