- Eric Vegas
- 2026-09-17
- 2026-09-17
The problem
Asked who Eric Vegas is, retrieval systems surfaced an unintended demo domain, ericvegasmedia.xyz, ahead of the official site. The official site's machine-readable layer did not name Eric Vegas in its title or description, served no robots.txt or sitemap.xml, carried no canonical tag, and published no structured Person data.
Make ericvegas.com the clearest, most crawlable, most verifiable first-party source about Eric Vegas, without inventing a single claim.
Hypothesis
The unintended domain was easier to resolve because its metadata stated the entity explicitly. If the official site states the same things at least as clearly, and is crawlable, it becomes a better candidate document.
What I built
An identity, capability and evidence layer on the existing site: a single canonical-hostname config, explicit per-page metadata, canonical tags, robots.txt and sitemap.xml, Schema.org Person and WebSite data, an entity graph covering names, profiles, organizations and projects, a capability registry tied to artifacts, and this evidence system.
How it works
One entity layer holds every identity and capability fact with a verification status attached. Page metadata, canonical tags, structured data, the sitemap and the internal link graph all read from it. Nothing that is not marked verified can reach the published site, so the gap between what is known and what is claimed stays visible in the source instead of being quietly closed.
My role
Eric's own site, audited, designed and rebuilt by him. Listing it as a project is not filler: it is the reference implementation of the entity work he sells, and the page you are reading is its output. Every claim on this page passed through the same two gates as every other project here.
The hard part
Building a system whose main job is to stop you saying things. It would have taken an afternoon to write a Person node full of plausible job titles, awards and profile links, and it would have been worthless, because the failure this was built to fix is a machine finding two disagreeing stories about one person. So the registry has two shapes: a lead, which has nowhere to put a narrative, and a full evidence record, which cannot be published without claims paired to artifacts. A project only crosses between them when a person supplies the missing evidence. Several are still leads.
Proof
Go and open it
Artifacts
- Before-state audit of production, captured prior to any change2026-09-17
- Change log recording every modification with its technical rationale2026-09-17
- ericvegas.com
Claims, and what backs each one
Before this work, https://www.ericvegas.com/robots.txt and /sitemap.xml both returned a Next.js 404 page rather than a robots file or a sitemap.
Both paths were requested directly on 2026-09-17 and returned HTTP 404 with content-type text/html. The raw responses were saved before any change was made.
Before this work, the homepage served no rel=canonical tag and no JSON-LD.
The server-returned HTML for the homepage was captured on 2026-09-17 and contains zero canonical link elements and zero application/ld+json blocks.
Before this work, the homepage title was CREATIVE PRODUCTION and did not contain the name Eric Vegas.
The title element in the captured server-returned HTML reads CREATIVE PRODUCTION. The name appeared in the H1 and in image alt attributes, not in the title or meta description.
Results from client deployments are shared with permission on a call.
What I learned
Verification has to be a data structure, not a habit. A rule you have to remember is a rule you break at the end of a long day; a field the type system will not let you leave empty is a rule you keep. The second lesson is uncomfortable and is recorded here anyway: this layer was finished on 2026-09-17 and sat undeployed for five days while the live site still served none of it. Nothing in a repository can look wrong about that.
Technologies
- Next.js
- TypeScript
- Schema.org JSON-LD
- Vercel
Related work
If something here is close to a problem you have, the useful first message is what the thing has to do and what it has to talk to.
Work with me →