# Andrew Linh Portfolio and editorial site of Andrew Linh. Backend architecture, structured data infrastructure, developer tools, and AI-native systems — written with precision. > **AI Agents:** This site is built with OlonJS. It exposes a native Model Context Protocol (MCP) manifest for direct structural interaction. > To read the site map or access structured content, use the URI `olon://pages` or `olon://pages/[slug]`. > Endpoint: `/mcp-manifest.json` ## Pages - **[About Andrew Linh — Path, Stack, Principles](/about)** (`about`) Professional path, technical stack, and design philosophy of Andrew Linh: systems architecture for structured data, developer tools, and AI-native platforms. *Contract:* `/schemas/about.schema.json` | *Manifest:* `/mcp-manifests/about.json` - **[Blog — Andrew Linh on Schemas, Types, and Agents](/blog)** (`blog`) Essays on schema-driven content, end-to-end type safety, AI agent tooling, and developer experience for structured systems. *Contract:* `/schemas/blog.schema.json` | *Manifest:* `/mcp-manifests/blog.json` - **[Blog post — Andrew Linh](/blog/[slug])** (`blog/[slug]`) Long-form writing on schema-driven content, type safety, AI agent tooling, and developer experience for structured systems. *Contract:* `/schemas/blog/[slug].schema.json` | *Manifest:* `/mcp-manifests/blog/[slug].json` - **[Blog post — Andrew Linh](/blog/ai-agent-tooling)** (`blog/ai-agent-tooling`) Long-form writing on schema-driven content, type safety, AI agent tooling, and developer experience for structured systems. *Contract:* `/schemas/blog/ai-agent-tooling.schema.json` | *Manifest:* `/mcp-manifests/blog/ai-agent-tooling.json` - **[Blog post — Andrew Linh](/blog/dx-of-structured-systems)** (`blog/dx-of-structured-systems`) Long-form writing on schema-driven content, type safety, AI agent tooling, and developer experience for structured systems. *Contract:* `/schemas/blog/dx-of-structured-systems.schema.json` | *Manifest:* `/mcp-manifests/blog/dx-of-structured-systems.json` - **[Blog post — Andrew Linh](/blog/e2e-type-safety)** (`blog/e2e-type-safety`) Long-form writing on schema-driven content, type safety, AI agent tooling, and developer experience for structured systems. *Contract:* `/schemas/blog/e2e-type-safety.schema.json` | *Manifest:* `/mcp-manifests/blog/e2e-type-safety.json` - **[Blog post — Andrew Linh](/blog/schema-driven-content)** (`blog/schema-driven-content`) Long-form writing on schema-driven content, type safety, AI agent tooling, and developer experience for structured systems. *Contract:* `/schemas/blog/schema-driven-content.schema.json` | *Manifest:* `/mcp-manifests/blog/schema-driven-content.json` - **[Contact Andrew Linh — Architecture & Writing](/contact)** (`contact`) Get in touch for systems architecture, schema design, technical writing, and reviews of structured platforms. GitHub, LinkedIn, and blog RSS linked. *Contract:* `/schemas/contact.schema.json` | *Manifest:* `/mcp-manifests/contact.json` - **[Andrew Linh — Systems Architect & Technical Writer](/)** (`home`) Portfolio and editorial site of Andrew Linh. Backend architecture, structured data infrastructure, developer tools, and AI-native systems — written with precision. *Contract:* `/schemas/home.schema.json` | *Manifest:* `/mcp-manifests/home.json` - **[Work — Case Studies by Andrew Linh](/work)** (`work`) Selected systems architecture case studies: schema-driven CMS, end-to-end type safety, AI agent evals, and lakehouse audit infrastructure. *Contract:* `/schemas/work.schema.json` | *Manifest:* `/mcp-manifests/work.json` - **[Project case study — Andrew Linh](/work/[slug])** (`work/[slug]`) Detailed case study covering context, problem, architecture decisions, measurable results, and technology stack. *Contract:* `/schemas/work/[slug].schema.json` | *Manifest:* `/mcp-manifests/work/[slug].json` - **[Project case study — Andrew Linh](/work/agentops-runner)** (`work/agentops-runner`) Detailed case study covering context, problem, architecture decisions, measurable results, and technology stack. *Contract:* `/schemas/work/agentops-runner.schema.json` | *Manifest:* `/mcp-manifests/work/agentops-runner.json` - **[Project case study — Andrew Linh](/work/lakehouse-ledger)** (`work/lakehouse-ledger`) Detailed case study covering context, problem, architecture decisions, measurable results, and technology stack. *Contract:* `/schemas/work/lakehouse-ledger.schema.json` | *Manifest:* `/mcp-manifests/work/lakehouse-ledger.json` - **[Project case study — Andrew Linh](/work/schemaforge-cms)** (`work/schemaforge-cms`) Detailed case study covering context, problem, architecture decisions, measurable results, and technology stack. *Contract:* `/schemas/work/schemaforge-cms.schema.json` | *Manifest:* `/mcp-manifests/work/schemaforge-cms.json` - **[Project case study — Andrew Linh](/work/typebridge-api)** (`work/typebridge-api`) Detailed case study covering context, problem, architecture decisions, measurable results, and technology stack. *Contract:* `/schemas/work/typebridge-api.schema.json` | *Manifest:* `/mcp-manifests/work/typebridge-api.json`