Visual constitution
The design uses warm ivory, ink, and a single blue. Space organizes, rules separate, and type establishes hierarchy. There are no walls of cards, gradients, glow effects, meaningless grids, or nostalgia produced by imitation classical objects.
The classical quality comes from proportion, restraint, readability, and a sense of time, not from object mimicry. The home page keeps one formal abstract object. Other graphics appear only when they have real data and a clear meaning.
The home title, “What remains human?”, and the abstract figure form a design premise for the site. They do not count as a registered question or a published argument by the author.
The Pareto figure
The home page figure uses the following conceptual model:
C(r) = {(x,y) | x ≥ 0, y ≥ 0, (x/a)^p + (y/b)^p ≤ r^p}
U(x,y) = x^α · y^(1-α)
The inner boundary represents the feasible set before an expansion of capability. The outer boundary represents the expanded feasible set. The iso-value curves represent different objective weights. The blue tangency point represents a value choice for which humans remain responsible. The figure means that after capability expands, deciding what is worth doing still requires judgment. It is not empirical data or a forecasting model.
Deterministic parameters
The conceptual parameters are fixed at a = 1.00, b = 0.76, p = 1.70, inner r = 0.72, outer r = 1.00, and α = 0.58. They control only the proportions of the conceptual geometry and do not come from measurement.
The current SVG uses a fixed 720 × 520 viewBox. The outer curve, inner curve, and two iso-value curves are all written in the source as Bézier paths. The blue point is fixed at (397, 133) with a radius of 5. No random number, sampling process, or animation runs when the page loads, so the same version produces the same figure in every build. The SVG is a fixed visual transcription of the conceptual model above. It does not claim that the blue point is an optimum derived from real observations.
Typography and licenses
Source Serif 4 is used for Latin serif text, IBM Plex Sans for sans serif text, and IBM Plex Mono for monospaced text. Chinese text falls back to Noto Serif SC and Noto Sans SC respectively. Font files ship with the site build and do not require a third-party font request when a page loads. Each font remains under its upstream open source license.
Technical direction
Astro generates static HTML. Long-form content is primarily Markdown, and Astro Content Collections with Zod validate content fields. MDX is introduced only when an article needs interactive elements. Search uses a separate JSON index generated at build time; the search page fetches and matches it in the browser, without sending queries to a third-party search service.
The publishing pipeline uses Cloudflare Workers Static Assets. Workers Builds runs the full verification suite and deploys the main branch of the private GitHub repository. The production address is https://ethanhbzhou.com, and www redirects to the apex with a 301. Ordinary pages, indexes, metadata, revision histories, RSS, and internal links do not need a database or client-side JavaScript in order to be read.
Application builds are distributed from Cloudflare R2 and served at dl.ethanhbzhou.com. Each build is addressed by version, published alongside its SHA-256 checksum, and never rewritten, so a download link keeps pointing at the same bytes. A small Cloudflare Worker answers /dl/ only: it records the request and redirects to the file. Every other path is served directly from static assets and never reaches it, so the site remains readable even when the Worker or its database is unavailable.
If private feedback, messages, or moderated comments are opened later, the submission endpoint will use the same Worker, and Turnstile would filter spam if moderation alone proves insufficient.
Data and privacy
One database exists. It records requests to the download endpoint: the date, the product and version, the country reported by the network, and whether the request came from a crawler. It stores no IP address, no cookie, and no identifier that could link two requests to the same person. What it counts is requests — not people, and not completed downloads, since a download can be abandoned after it starts. Any figure taken from it may only be described as what it is.
Reading a page writes nothing to that database: the Worker that records downloads is never invoked for a page request. That is not the same as a page view leaving no trace anywhere. Cloudflare serves this site and keeps its own aggregate traffic metrics for the domain, along with short-lived logs of Worker invocations. Those belong to the hosting platform rather than to this site, and cannot be switched off while remaining hosted on it.
That total is shown on the product page it belongs to, labelled as download requests since a stated date, and only once it is above zero. It is loaded after the page and is not required to read anything: when the Worker is unavailable, the line is simply absent. It is published because a product being tried is evidence about the product, not about you — which is also why it is never presented as a number of people.
There are no public comments, and this site runs no analytics of its own. Cloudflare Web Analytics remains an option; it will count as enabled only after explicit configuration and an update to this page.
A future feedback form will be private by default, allow anonymous submissions, and make contact information optional. Public comments must be enabled separately for each article and moderated. Comment counts do not imply endorsement, and reading an article will not depend on the comment service loading successfully.