This package is the content, information-architecture, and implementation companion to the existing design.md.
Do not replace or reinterpret design.md. Treat it as the visual source of truth. The files here tell Codex what the portfolio must communicate, how content should be modeled, how routes should behave, and how to avoid inventing claims.
The portfolio should present Endy as one coherent person, not three disconnected job titles.
The center of gravity is:
Endy builds with emerging AI and agentic infrastructure, helps make complex developer systems easier to understand and adopt, and turns what he learns into products, tooling, contributions, and evidence.
The site should make this legible quickly.
Projects are the proof. Contributions are the growing body of ecosystem work. Experience is supporting evidence. Writing explains how Endy thinks.
This is an evidence-first editorial portfolio, not a marketing services site.
These eight project names are now user-confirmed for the portfolio system.
- Nostos
- OmnisRouter
- SignalCity
- Providus
- Metron
These are the initial projects Endy wants Codex to consider for the curated landing-page Selected Work / Featured Work section. Which of them are actually featured should still be controlled through project data using featured and featuredOrder.
- FullRoar
- Vindex
- Arete
These belong in the complete /work archive and should initially use featured: false unless Endy later changes the editorial selection.
featured: false does not mean a project is weaker, less important, or lower quality. It only means the project is not currently selected for the landing-page edit.
Do not seed Sigillum or Tekmer as featured/current projects unless Endy explicitly adds them later.
Only the project names are confirmed in this handoff. Technical descriptions, integrations, awards, deployment state, ownership, users, metrics, links, and outcomes must remain placeholders until verified.
The /work archive must never be treated as limited to the initial five Selected Work candidates. It is the complete, scalable home for Endy's current and future projects.
- Homepage contains a curated Selected Work / Featured Work section.
- Featured work is driven by a project-level
featuredfield. - A clear View all work CTA appears immediately below the featured section.
- That CTA routes to
/work. /workis the complete, scalable project archive.- Individual projects use
/work/[slug]. - Projects, Contributions, and Experience remain separate content types.
- Contributions must have a scalable archive/system for future PRs, SDK work, tutorials, tooling, research, workshops, DX fixes, and ecosystem work.
CODEX-PROMPT.md— implementation brief and acceptance criteria.messaging.md— positioning and copy architecture.content-architecture.md— site structure and route responsibilities.projects-and-case-studies.md— project schema, seeded entries, case-study structure.contributions.md— contribution taxonomy and archive system.experience.md— supporting ecosystem/ambassador experience.voice-and-copy.md— copy rules and banned language.implementation-notes.md— technical implementation guidance.content-inventory.md— verification ledger and missing evidence.
If a fact is not verified, do not make it sound verified.
Use explicit placeholders such as:
{{project_one_liner}}{{verified_stack}}{{verified_live_url}}{{verified_metric}}{{verified_award}}{{verified_transaction_or_receipt}}
A blank or honest placeholder is better than polished fiction.
Use the supplied scrapbook/editorial notebook references for principles only:
- strong editorial hierarchy
- tactile notebook energy
- project-first storytelling
- annotations
- process artifacts
- sparse-to-dense rhythm
Do not copy Robin's identity, name treatment, phrases, Polaroid/tape bundle, smiley motif, yellow/black project composition, or personality.
Translate the system into Endy-owned evidence vocabulary such as:
BUILT WITHWHAT BROKEWHAT I LEARNEDVERIFIED ONCONTRIBUTEDREAL TRANSACTIONEVIDENCESHIP NOTE
Decorative texture must never carry meaning that disappears when the decoration is removed.