How this website works.
mayphus.org is a small public operating system: route metadata, generated manifests, static tools, private boundaries, one Cloudflare Worker, and live checks after deploy.
Source
Human-authored notes, route declarations, project records, update entries, Hanzi data, Unicode data, images, and tool-specific source live in the workspace.
Build
Racket owns source-of-truth manifests and build coordination. Python copies static routes into dist/, while frontend tools compile shared CSS, shared JavaScript, and page-local scripts.
Output
The public bundle is written to dist/: pages, styles, RSS, sitemap, PWA files, route-local data, and public-safe API backing assets.
Edge
The Worker serves static assets, blocks raw private service JSON, exposes curated /api/... endpoints, and keeps public URLs stable while internals move.
Web
Deploy is not finished until live checks pass: public routes return 200, route data stays reachable, and raw top-level JSON remains hidden.
Public URLs are declared before they are exported.
src/site/routes.rkt declares the route, source folder, title, description, sitemap behavior, discovery behavior, and AI context. site/pages.json is generated from it, not maintained by hand.
Homepage cards come from project records.
src/site/projects.rkt links route-backed tools, studies, artifacts, and public writing into a single public project index.
Changes have a public log.
src/site/updates.rkt feeds RSS, so shipped changes stay available without turning the site into a changelog.
Private routes are explicit.
/inside/... pages are marked non-discoverable and excluded from the sitemap. Public AI context also carries cautions for private surfaces.
Deployment includes proof.
racket main.rkt publish builds, checks, deploys with Wrangler, and verifies live mayphus.org behavior after rollout.
What the public site is for.
Most pages are static, but they are grouped around clear intent: hiring proof, systems evidence, language tools, utilities, artifacts, and writing.
Hiring and profile
Systems proof
Language tools
Public artifacts
Maps, studies, and notes.
Routes are data.
src/site/routes.rkt owns public paths, titles, kinds, sitemap inclusion, and static source folders. JSON is generated for the current exporter.
Most pages are static.
Static pages stay cheap, fast, and portable. Tool-specific code lives beside the page it powers.
Changes are public.
Recent public site changes are kept in source data and published through RSS.
One public front door.
mayphus.org/* is owned by the Worker, so routes can move internally without changing public URLs.