---
title: "Blog | Stijn Van Hulle"
description: "Notes by Stijn Van Hulle on front-end work, TypeScript, Vue, Nuxt, React, OpenAPI, and Kubb."
canonical_url: "https://stijnvanhulle.be/blog"
meta:
  author: "Stijn Van Hulle"
  "og:description": "Notes by Stijn Van Hulle on front-end work, TypeScript, Vue, Nuxt, React, OpenAPI, and Kubb."
  "og:image": "https://stijnvanhulle.be/_og/s/o_17e9bbf262fb48cd.png"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "Blog · Stijn Van Hulle"
  "twitter:description": "Notes by Stijn Van Hulle on front-end work, TypeScript, Vue, Nuxt, React, OpenAPI, and Kubb."
  "twitter:image": "https://stijnvanhulle.be/_og/s/o_17e9bbf262fb48cd.png"
  "twitter:title": "Blog · Stijn Van Hulle"
---

> Index of every page on this site: [llms.txt](https://stijnvanhulle.be/llms.txt)

**\#**

## **Blog**

# **Notes on front-end work, TypeScript, and Kubb.**

[![Cover image for Node version numbers now match the calendar year](https://stijnvanhulle.be/images/blog/node-release-schedule-change.svg)<h3>**Node version numbers now match the calendar year**</h3>Published on 24.06.2026](https://stijnvanhulle.be/blog/node-release-schedule-change) [![Cover image for Preventing npm supply chain attacks](https://stijnvanhulle.be/images/blog/preventing-npm-supply-chain-attacks.svg)<h3>**Preventing npm supply chain attacks**</h3>Published on 08.06.2026](https://stijnvanhulle.be/blog/preventing-npm-supply-chain-attacks) [![Cover image for Rules, skills, commands, subagents, MCP](https://stijnvanhulle.be/images/blog/rules-skills-commands-subagents.svg)<h3>**Rules, skills, commands, subagents, MCP**</h3>Published on 05.06.2026](https://stijnvanhulle.be/blog/rules-skills-commands-subagents) [![Cover image for Mapping data with Zod](https://stijnvanhulle.be/images/blog/mapping-of-data-with-zod.svg)<h3>**Mapping data with Zod**</h3>Published on 01.09.2024](https://stijnvanhulle.be/blog/mapping-of-data-with-zod)

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://stijnvanhulle.be/#website","@type":"WebSite","description":"Front-end engineer from Belgium and creator of Kubb, an open-source TypeScript tool for OpenAPI code generation.","inLanguage":"en","name":"Stijn Van Hulle","url":"https://stijnvanhulle.be/","publisher":{"@id":"https://stijnvanhulle.be/#identity"}},{"@id":"https://stijnvanhulle.be/blog#webpage","description":"Notes by Stijn Van Hulle on front-end work, TypeScript, Vue, Nuxt, React, OpenAPI, and Kubb.","name":"Blog","url":"https://stijnvanhulle.be/blog","@type":["WebPage","CollectionPage"],"breadcrumb":{"@id":"https://stijnvanhulle.be/blog#breadcrumb"},"isPartOf":{"@id":"https://stijnvanhulle.be/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://stijnvanhulle.be/blog"]}]},{"@id":"https://stijnvanhulle.be/#identity","@type":"Person","description":"Stijn Van Hulle is a front-end engineer from Belgium and the creator of Kubb, an open-source TypeScript tool for generating code from OpenAPI specs. He builds product front ends with React, Vue, and Nuxt.","jobTitle":"Senior Front-end Engineer","name":"Stijn Van Hulle","url":"https://stijnvanhulle.be","address":{"@type":"PostalAddress","addressCountry":"BE"},"image":{"@id":"https://stijnvanhulle.be/#/schema/image/1"},"knowsAbout":["TypeScript","JavaScript","React","Next.js","Vue","Nuxt","Node.js","Redux","Zustand","GraphQL","Zod","Sass","OpenAPI","Swagger","Code generation","REST APIs","Front-end architecture","Web development","Docker","AWS","Git","CI/CD","Open source","AI tooling","Large language models","Agile","Scrum"],"sameAs":["https://github.com/stijnvanhulle","https://www.linkedin.com/in/stijnvanhulle","https://instagram.com/stijnvanhulle","https://www.kubb.dev"],"worksFor":[{"@type":"Organization","name":"Whale","url":"https://usewhale.io","logo":"https://stijnvanhulle.be/brands/whale.png","description":"SaaS company in Ghent building an AI platform for documenting processes, sharing knowledge, and training teams.","address":{"@type":"PostalAddress","addressLocality":"Ghent","addressCountry":"BE"},"sameAs":["https://usewhale.io","https://www.linkedin.com/company/usewhale/"]},{"@type":"Organization","name":"Kubb","url":"https://www.kubb.dev","logo":"https://kubb.dev/logo.png","email":"kubb@kubb.dev","description":"Generate types, clients, hooks, validators, and mocks from one OpenAPI specification.","sameAs":["https://github.com/kubb-labs/kubb","https://discord.gg/shfBFeczrm","https://www.linkedin.com/company/kubb-labs"]}]},{"@id":"https://stijnvanhulle.be/blog#breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"Home","item":"https://stijnvanhulle.be","position":1},{"@type":"ListItem","name":"Blog","item":"https://stijnvanhulle.be/blog","position":2}]},{"@id":"https://stijnvanhulle.be/#/schema/image/1","@type":"ImageObject","contentUrl":"https://stijnvanhulle.be/avatar.png","inLanguage":"en","url":"https://stijnvanhulle.be/avatar.png"}]}
```

## Sitemap

See the full [sitemap](https://stijnvanhulle.be/sitemap.md) for all pages.
