Agent-orchestrated engineering, reviewed at a human gate
matthewperez.com
This site: a static Astro portfolio built for AI screeners as deliberately as for people, by a fleet of AI agents under human-gated review.
- Role
- Sole engineer and architect; orchestrator of the agent workflow that built it
- Year
- 2026
- Status
- Live
- Site
- matthewperez.com
- Astro 6 (static-first, zero JS by default)
- Tailwind CSS v4
- TypeScript
- React 19 (islands only: nav toggle, work-grid filter)
- AWS S3 + CloudFront (Origin Access Control)
- AWS CDK (Python)
- Route 53 + ACM
- GitHub Actions via OIDC (no stored AWS keys)
5
Machine-readable surfaces shipped alongside the human-facing pages
2026-07-04 · matthewperez.com/robots.txt (AI-crawler allowlist), /llms.txt, /llms-full.txt, /resume.md, and a .md copy of every case study
Challenge
A resume portfolio has to prove I can embed with a team, ship production software solo, and explain the result to a non-technical stakeholder. Its primary reader is an AI screener parsing the page programmatically to decide whether to advance a candidate, rather than a person scanning for five minutes. One source of truth had to serve both, and the build process had to count as evidence too.
Process
I chose static Astro so non-JavaScript agents get the full page: semantic HTML, the
accessibility tree, and the visual render carry the same content. Four typed content
collections (projects, video work, work history, education) are the single source of
truth for the pages, per-project markdown mirrors, /llms.txt, /llms-full.txt,
and JSON-LD (Person, ProfilePage, SoftwareApplication, BreadcrumbList,
VideoObject), so no fact is duplicated. robots.txt explicitly allows AI
answer-engine crawlers.
Multiple Claude agents built it in file territories I strictly partitioned (content,
components, AI-readability routes, individual pages). An orchestrating session I
gated by hand reviewed every diff, ran the build, and checked it against a written
design system before anything reached main. Agents never committed. Repeated wave
over wave, this delegate-and-gate loop matches Forward Deployed Engineer work:
direct distributed contributors toward a client-approved result, prototype fast,
keep a human approving, ship in reviewable increments. Deploys run on GitHub Actions
via OIDC (no long-lived AWS keys in CI) to S3 and CloudFront on CDK-managed
infrastructure.
Result
Live at matthewperez.com. This case study came from the same agent-and-gate workflow and passed pull request review like every other change. As on every project here, each metric has a date and a source, including the site’s own.