An orthopaedic sports medicine physician whose name returned three different people. A site built so that one name resolves to one person, for search engines and for readers.

Search for Dr. Seilern and you used to get a hedge. The AI summary at the top of the results spread itself across several Atlanta medical professionals with similar names, none of them confidently him.
Jesse Seilern und Aspang is an orthopaedic sports medicine physician. His name is long, it is easy to mis-spell, and PubMed stores it differently from how he writes it. Every one of those small frictions cost him the same thing. A stranger could not confirm, in five seconds, that the person they had heard about was the person they were looking at.
The job was not a bio page. It was to make one association unambiguous to a search engine, to a language model, and to a person reading quickly.
Sole designer and engineer. Identity architecture, content model, structured data, editorial system, and the full Next.js build.
Correctness is enforced by the build, not by review.
A physician site is a place where a small inaccuracy is a real problem. The usual defence is care, meaning someone reads the page before it ships. That works until it does not.
Instead, the rules live in the type system and in a content guard that runs against the rendered HTML. An unverified fact is typed as null and renders nothing at all, so there is no such thing as placeholder text waiting to be forgotten. The publication count cannot appear on a page, because the two available numbers count different things and neither is the figure a reader would assume. The guard fails the build if either shows up.
The cost is friction. Adding a fact means proving it first. That is the point, but it does make ordinary content edits slower than they would be anywhere else.

He is a fellow in subspecialty training, not an independent attending. Nothing on the site implies a practice, a patient panel, or availability, and the flag that says so is a literal false rather than a loose boolean. The day that changes, the compiler surfaces every page that depends on it.
Emory and the University of Vienna appear only as factual training credentials. No logos, no marks, no phrasing that implies endorsement.
The structured data makes the same call. The obvious choice for a doctor is the Physician schema type, and it is wrong here. Physician describes an office, with address and hours semantics attached. Emitting it for someone with no practice would assert something untrue to every machine that reads it. It goes in the day there is a real practice.
His papers come from PubMed through a script, and the interesting part is what the script is not allowed to touch. Generated records and human curation live in two separate files with two separate owners. The script only ever appends. It physically cannot clobber a topic or a featured flag, because ownership is a filesystem fact rather than a convention someone has to honour.
It is idempotent. Re-running it against an unchanged PubMed produces a zero-line diff, so any diff at all means something actually changed. New papers arrive uncategorised and visible rather than silently absent.
It is deliberately never wired into the build. A deploy should not depend on whether a government API is having a good afternoon.
Articles moved into a CMS without giving up compile-time safety, which is the trade most teams accept without arguing. Every invariant is re-checked against the live data at build time, so a bad edit fails the build with a message naming the article and the problem. I verified that by breaking a citation on purpose and confirming the build refused.
The patient-facing content library is written but gated behind a single flag. It stays closed until there is institutional sign-off, an attorney review of the medical-advice boundary, and a recorded clinical review on each article. Building proceeds. Publishing waits.