# Joseph Anson's Portfolio > Frontend engineer and Nord Design System core team member working across design systems, accessibility, developer experience, and TypeScript architecture. ## Content - [Home](https://josephanson.com/raw/index.md): The personal website of Joseph Anson: frontend projects, design-system work, technical notes, talks, and occasional web experiments. - [Articles](https://josephanson.com/raw/articles.md) - [Projects](https://josephanson.com/raw/projects.md) - [Talks](https://josephanson.com/raw/talks.md) ## Articles - [Documentation Is Becoming an API for Coding Agents](https://josephanson.com/raw/articles/documentation-is-an-api-for-coding-agents.md): What building MCP servers, llms.txt, and machine-readable component documentation taught me about designing documentation for people and coding agents. - [Why Web Components Might Be Setting You Up for Failure](https://josephanson.com/raw/articles/failures-of-web-components.md): Learn why web components might be setting you up for failure, and what alternatives you can use instead. - [Handling Try-Catch in API Endpoints with the Result Pattern](https://josephanson.com/raw/articles/handling-try-catch-in-api-with-result-pattern.md): Learn how to use the Result pattern to handle try-catch in API endpoints, providing a more elegant and scalable solution. - [Migrating a Design System to Tailwind Without Breaking Its Consumers](https://josephanson.com/raw/articles/migrating-a-design-system-to-tailwind.md): The migration tools, compatibility decisions, and rollout strategy behind making Tailwind CSS the main styling driver for Nord Design System. - [One close() Method Across Reka UI and Nuxt UI](https://josephanson.com/raw/articles/one-close-method-across-reka-ui-and-nuxt-ui.md): How a small modal API improvement moved through two library layers and removed state-management boilerplate for their consumers. - [How We Added Performance Budgets to 117 Web Components](https://josephanson.com/raw/articles/performance-budgets-for-web-components.md): How we turned interaction timing, rendering work, and application traces into a repeatable performance contract for Nord Design System. - [Achieving Full-Stack Type Safety with Nuxt, Drizzle, and Directus](https://josephanson.com/raw/articles/type-safety-with-drizzle.md): Learn how I leveraged Drizzle ORM's schema introspection with Directus CMS in a Nuxt application for end-to-end type safety - [Validating Backend API Data with Zod in Frontend Applications](https://josephanson.com/raw/articles/validating-api-data-with-zod.md): Learn how to use Zod, a popular JavaScript library, to validate backend API data in frontend applications and ensure the integrity of your data. ## Talks - [Beyond Type Checking: Building Bulletproof TypeScript Applications](https://josephanson.com/raw/talks/beyond-type-checking.md): In an era where microservices and external data sources dominate our applications, relying on TypeScript's static type checking alone isn't enough. This practical session demonstrates how to build truly type-safe applications that validate data at runtime, preventing the most common sources of production bugs.