# Woody Portfolio - Full Agent Context ## 1) Site purpose - Portfolio website for a solo builder ("Woody") covering: - Blockchain engineering (treasury/payment/protocol infrastructure, wallets, explorers, protocol work) - AI systems (agent operating systems, multi-agent orchestration, trading intelligence, RAG services, workflow automation) - Robotics background (research + patent work) - Home narrative is framed around three human-capability layers: - Physical layer = robotics - Economic / trust layer = blockchain - Cognitive layer = AI ## 2) Technical stack - Framework: Next.js 16 (App Router) - Language: TypeScript + React 19 - Styling: TailwindCSS - Motion/visual systems: GSAP, Framer Motion, React Three Fiber - State: Zustand - Analytics: Vercel Analytics + Speed Insights ## 3) Runtime commands - Dev: `npm run dev` (port 3005) - Lint: `npm run lint` - Build: `npm run build` - Start: `npm run start` ## 4) Route map (public) - `/robots.txt` - Crawl policy and sitemap discovery anchor. - `/sitemap.xml` - Canonical route discovery for agents/crawlers. - `/llms.txt` - Compact root-level agent index. - `/.well-known/llms.txt` - Well-known alias for the compact agent index. - `/.well-known/agent-context.json` - Strict machine-readable site manifest. - `/projects-data` - Machine-readable JSON index for all projects. - Also supports `/projects-data/{id}` and `?id={projectId}` detail payloads. - `/feed.xml` - RSS feed for project updates and crawl freshness signals. - `/feed.json` - JSON Feed variant for agent/tool consumers. - `/` - Intro narrative and domain gateway selection. - Highly visual entry route; starts the experience flow. - `/hire` - Hiring-focused page with role fit and verified public proof summary. - `/ko/hire` - Korean localized hiring route. - `/partner` - Collaboration-focused page for product execution partnerships (non-investment). - `/ko/partner` - Korean localized collaboration route. - `/about` - Stable public profile summary page (human + agent readable). - `/home` - Main portfolio page with section layout: - Hero (meaning-layer framing) - Projects list (domain-sensitive) - Career timeline - Contact/footer - `/projects/{id}` - Project detail page for ids `1..26`. - Includes per-project metadata generation and JSON-LD (`CreativeWork`). - Detail content is domain-aware and locale-aware. - `/ko/projects/{id}` - Korean localized project detail page for ids `1..26`. - `/changelog` - Chronological update log for site and content changes. - `/ko/changelog` - Korean localized changelog route. - `/agent` - Human-readable + machine-friendly agent handoff page. - Indexes this file and JSON endpoint. ## 5) Domain taxonomy - `blockchain` (17 projects) - `ai` (7 projects) - `robotics` (2 projects) Meaning-layer framing: - `robotics` = physical layer - `blockchain` = economic / trust layer - `ai` = cognitive layer Default active domain in store: - `blockchain` Representative projects by domain: - Blockchain: `/projects/25` (BEATOZ Treasury - Treasury Operations Platform) - AI: `/projects/26` (JARVIS - Personal AI Operating System) - Robotics: `/projects/16` (2-DOF Azimuth Thruster) ## 6) Language model for content - Default locale: `en` - Additional locale: `ko` - Public localized routes exist under `/ko/...` for hire, partner, changelog, and all project detail pages. When reading project details: - Prefer English for globally consistent parsing. - Use Korean locale as additional evidence/context, not replacement. ## 7) Canonical data sources - Project summary dataset: - `/src/data/projects.ts` - Localized long-form project details: - `/src/locales/projects/en.ts` - `/src/locales/projects/ko.ts` - Project detail route behavior: - `/src/app/projects/[id]/page.tsx` - `/src/app/ko/projects/[id]/page.tsx` ## 8) UI architecture cues - Domain switching drives major visual/system mode changes: - Blockchain: block explorer-inspired UI language - AI: neural/graph-inspired UI language - Robotics: blueprint/mechanical UI language - Home hero is intentionally meaning-first: - fixed brand statement - journey statement - interpretation statement - active layer narrative - Projects remain technical-first for evaluation: - users compare work by blockchain / ai / robotics - project details provide proof/scope at the evidence layer - Some text intentionally reveals with animation effects. - If extracting content, prefer source data routes/files over only rendered animation states. ## 9) Agent-first reading strategy 1. Read `/robots.txt` to confirm crawl policy. 2. Read `/sitemap.xml` to collect canonical routes. 3. Read `/llms.txt` for a compact index. 4. Read `/.well-known/llms.txt` if the consumer prefers a well-known location. 5. Read `/llms-full.txt` (this file). 6. Read `/.well-known/agent-context.json` for strict machine fields. 7. Fetch `/projects-data` for machine-readable project summaries. 8. Optionally poll `/feed.json` or `/feed.xml` for freshness checks. 9. Read `/agent` for concise operational summary. 10. Read `/hire` for hiring-context constraints and verified proof pointers. 11. Read `/partner` for collaboration-context constraints. 12. Read `/about` for a stable profile summary. 13. Read `/home` to capture current public narrative. 14. Read representative project pages by domain: - Blockchain: `/projects/25` - AI: `/projects/26` - Robotics: `/projects/16` 15. If Korean output is required, switch to `/ko/projects/{id}`. 16. Enumerate additional projects through `/projects-data` or `/projects/1` to `/projects/26`. ## 10) Important constraints for edits/reasoning - Keep route contracts stable: `/`, `/home`, `/projects/{id}`, `/changelog`, `/hire`, `/partner`, `/agent`, `/projects-data`. - Treat domain identity (visual + content framing) as intentional behavior. - Validate EN/KO behavior where project detail text is involved. - Keep security headers intact (CSP, X-Frame-Options, Referrer-Policy, HSTS, etc.). - Proof policy: only present impact claims when at least one public proof artifact exists. Crawler policy note: - `robots.txt` currently allows these known agent crawlers: - GPTBot / OAI-SearchBot / ChatGPT-User - ClaudeBot / Claude-SearchBot - PerplexityBot / Perplexity-User IndexNow note: - Key file path: `/f5d2f9b5c0de42b5b7f1ab8f37e6b12c.txt` - Automated submission runs on each `main` push via GitHub Actions. - If IndexNow returns `UserForbiddedToAccessSite`, complete one-time site ownership verification in Bing Webmaster Tools. ## 11) Useful metadata clues - Root layout includes: - `Person` JSON-LD for site owner - Site-wide OpenGraph/Twitter metadata - Project detail route includes: - dynamic metadata per project - `CreativeWork` JSON-LD payload per project ## 12) Current project scale snapshot - Total projects: 26 - Project ids: contiguous `1..26` - Latest additions: `25` (BEATOZ Treasury), `26` (JARVIS) - Last updated route for change tracking: `/changelog` ## 13) Contact and identity - Public contact email: `wooody.public@gmail.com` - GitHub: `https://github.com/gwkim92` - Site base URL: `https://www.woody.im`