This is not a list of software I like. It is what is serving this page, at this moment, while you read the sentence describing it. A short stack, decided once, so that the thinking could go into the product instead of back into the tooling.
Runtime dependencies
10
Build tools
5
UI frameworks
0
The floor
Cloudflare, doing six jobs.
One vendor for compute, database, object storage, coordination, scheduling and static files. The reason is not price. It is that six services from six companies need glue, and glue is the code that breaks while you are asleep.
WorkersAssembled and returned this page.
D1Every application, subscriber and review.
R2The attendee photographs on /events.
Durable ObjectsThe live reader count on a field note.
Cron TriggersThe hourly job that sends event mail.
AssetsImages and fonts, served past the Worker.
The Worker runs first on page requests only. Images, fonts and bundles skip it entirely and stay on the cached path — which is why putting logic on the site did not cost it speed.
Point an agent at it
The same Worker answers MCP.
Every page above is written for eyes. This address is the same site written for an agent: table dates and remaining seats, every field note in full, and a two-step tool for requesting a seat. Connect a client and it appears alongside your other tools.
Nothing here is a private beta. The server is listed in theofficial MCP registryand describes itself at/.well-known/mcp-server-card. A client that reads neither can still be handed the address above.
01 · Build
What turns writing into the page you are reading.
Astro7.2.2
Running here
This HTML. It arrived with no framework runtime attached to it.
Why this one
Static by default, server-rendered only where a page cannot be a file: /events reads live seat counts, and two others open only against a signed link. Everything else — this page included — was written to disk at build time. JavaScript is opt-in per component instead of a tax on every visitor.
When I would not
An application that is mostly stateful screens behind a login. Astro is shaped for sites that are read.
Vite8.2.1
Running here
Every stylesheet and script this page loaded.
Why this one
I did not choose this one — it came with Astro. That is a good reason to leave it alone. A build tool you never think about is a build tool doing its job.
When I would not
Nowhere worth arguing about. If your framework brought a different one, use that instead.
MDX7.0.5
Running here
Every field note in the blog.
Why this one
Markdown for the writing, components for the two or three places where prose alone cannot say it. The writing stays a text file that will still open in twenty years.
When I would not
Content that never needs a component. Plain Markdown is one less moving part.
02 · Correctness
What has to pass before anything reaches you.
TypeScript7.1.0
Running here
Every file in the repository, checked before each deploy.
Why this one
This is the native compiler build, and it is a pre-release. That is a deliberate risk taken in the one place it is cheap: the compiler runs in checks, never at runtime. If it breaks, the deploy stops and nothing reaches a reader — the failure mode is an unshipped change, not a broken page.
When I would not
Anywhere a pre-release sits in the request path. Take the boring version there.
Zod4.4.3
Running here
Every form on the site — the seat request, the sprint application, the newsletter — parsed before it is believed.
Why this one
One schema is both the runtime check and the type. The validation cannot drift away from the type, because it is the type.
When I would not
Data you produced yourself and already control. Validation belongs at the edges, not in the middle.
Vitest4.1.10
Running here
The suite that runs before every deploy and blocks the release when it fails.
Why this one
The value is not the tests, it is that shipping is wired to them. A test suite you can deploy past is a document, not a safeguard.
When I would not
Anything that needs a real browser. This suite covers logic, not pixels.
03 · Reach
What connects the site to a person.
Pagefind1.5.2
Running here
The search in the header. Open it and type.
Why this one
The index is built at deploy time and served as static files, so matching happens in the browser rather than as a query to a search service. No backend, no API key, and no third party building a picture of what visitors look for.
When I would not
Tens of thousands of pages, or ranking that has to learn from behaviour. This is search for a site a person could read.
Resend
Running here
The confirmation after a seat request, and the reminder before the table.
Why this one
Called over plain fetch, with no SDK in the bundle — it is an HTTP endpoint, and treating it as one keeps the dependency at zero. Deliverability is the part I would never win by building it myself.
When I would not
Marketing sends at volume. This carries transactional mail, which is a different job.
Turnstile
Running here
The quiet check under the open forms — the seat request, the sprint application, the newsletter. The token-gated ones do not carry it; the token is already the gate.
Why this one
It stops automated submissions without making a person identify traffic lights to prove they deserve a seat.
When I would not
A form with nothing worth abusing. Then it is a dependency you added for the feeling of it.
04 · Watch
What says so when the page breaks for somebody who is not me.
Sentry10.71.0
Running here
Wrapped around the Worker that assembled this page. Every failure the site catches — a seat request that did not save, a confirmation that did not send — is grouped and mailed.
Why this one
The Worker already wrote a structured line on every failure, and Cloudflare kept it. But a log is not a notice: nobody is told, and the errors that matter here are attached to a person who is waiting. This is the Cloudflare SDK rather than the Astro one, because the server this runs on is a Worker, not Node.
When I would not
The browser. See below — that half is not a package.
A fifty-line reporter
Running here
The first script in the head of this page, registered before anything else can fail. If a script breaks in your browser right now, this posts it to this origin and nowhere else.
Why this one
The standard answer is Sentry's browser SDK, and it was the wrong one here. It carries session replay, which duplicates a tool this site already runs; it weighs roughly five times the whole page; and it collects request bodies unless told otherwise — while two pages here carry a signed token in the address. Fifty lines have none of those problems, and an ad blocker cannot silence them.
When I would not
A product with more than one person in it. This has no dashboard, no search and no history beyond an hourly mail. At that size, buy it.
Subtractions
What I took out, and what it cost to notice.
Every stack page lists what somebody added. The decisions that made this site fast are all in the other column, and none of them were obvious until something was measured.
Astro's session runtime
The Cloudflare adapter finds a KV namespace named SESSION and wires up sessions on sight. Nothing on this site reads one. It was being bundled into the Worker and initialised on every cold start for a feature with no callers. One line in the config turned it off.
The second public hostname
Every Worker also answers on a workers.dev address, serving the same pages as a duplicate origin for a crawler to find. Switching it off in the dashboard did not hold — each deploy quietly turned it back on, because nothing in the config said otherwise. It is pinned in the file now.
Typographic rewriting in Markdown
The Markdown processor was helpfully converting quotes and dashes that were already the correct characters. Disabled, so what is published is byte-for-byte what was written.
Prefetching every link
Astro will happily preload every link on a page. It now preloads on hover only. Downloading a site nobody asked for is not speed, it is spending someone else's data to flatter a metric.
Why this page exists
None of this is unusual technology.
There is nothing rare on this page. What took the time was deciding what not to add — which of the obvious, defensible, widely recommended things would have been weight rather than value. Every entry in the subtractions list was once a reasonable idea.
That is the same work a product needs before its first line of code, and it is the work most founders skip, because adding is the part that feels like progress.