[{"data":1,"prerenderedAt":146},["ShallowReactive",2],{"navigation":3},[4],{"title":5,"path":6,"stem":7,"children":8,"page":145},"Articles","/articles","articles",[9,13,17,21,25,29,33,37,41,45,49,53,57,61,65,69,73,77,81,85,89,93,97,101,105,109,113,117,121,125,129,133,137,141],{"title":10,"path":11,"stem":12},"Building a Claude Code Plugin with Hooks","/articles/2026-01-04-building-claude-code-plugin-with-hooks","articles/2026-01-04-building-claude-code-plugin-with-hooks",{"title":14,"path":15,"stem":16},"Where should I validate? Everywhere, and for different reasons","/articles/2026-04-18-validation-across-the-stack","articles/2026-04-18-validation-across-the-stack",{"title":18,"path":19,"stem":20},"Error handling across the stack","/articles/2026-04-23-error-handling-across-the-stack","articles/2026-04-23-error-handling-across-the-stack",{"title":22,"path":23,"stem":24},"3 Ways to Run NestJS Cron Jobs When Running Multiple Instances","/articles/3-ways-to-run-nestjs-cron-jobs-when-running-multiple-instances","articles/3-ways-to-run-nestjs-cron-jobs-when-running-multiple-instances",{"title":26,"path":27,"stem":28},"Building a Custom Content Slider (Carousel) in Angular","/articles/building-a-custom-content-slider-carousel-in-angular","articles/building-a-custom-content-slider-carousel-in-angular",{"title":30,"path":31,"stem":32},"Building Jobven: Designing a Developer-Friendly API","/articles/building-jobven-designing-a-developer-friendly-api","articles/building-jobven-designing-a-developer-friendly-api",{"title":34,"path":35,"stem":36},"Building MapleStack: AWS S3 for Data Storage","/articles/building-maplestack-aws-s3-for-data-storage","articles/building-maplestack-aws-s3-for-data-storage",{"title":38,"path":39,"stem":40},"Building MapleStack: Enhancing Email Capabilities with Mailgun","/articles/building-maplestack-enhancing-email-capabilities-with-mailgun","articles/building-maplestack-enhancing-email-capabilities-with-mailgun",{"title":42,"path":43,"stem":44},"Building MapleStack: NestJS for Server-Side Operations","/articles/building-maplestack-nestjs-for-server-side-operations","articles/building-maplestack-nestjs-for-server-side-operations",{"title":46,"path":47,"stem":48},"Building MapleStack: PostgreSQL for Data Storage","/articles/building-maplestack-postgresql-for-data-storage","articles/building-maplestack-postgresql-for-data-storage",{"title":50,"path":51,"stem":52},"Building MapleStack: React for an interactive user interface","/articles/building-maplestack-react-for-an-interactive-user-interface","articles/building-maplestack-react-for-an-interactive-user-interface",{"title":54,"path":55,"stem":56},"Building MapleStack: Securing Connections with Let's Encrypt","/articles/building-maplestack-securing-connections-with-lets-encrypt","articles/building-maplestack-securing-connections-with-lets-encrypt",{"title":58,"path":59,"stem":60},"Building MapleStack: Simplifying User Authorization with AWS Cognito","/articles/building-maplestack-simplifying-user-authorization-with-aws-cognito","articles/building-maplestack-simplifying-user-authorization-with-aws-cognito",{"title":62,"path":63,"stem":64},"Building MapleStack: Tailwind CSS for Streamlined Styling","/articles/building-maplestack-tailwind-css-for-streamlined-styling","articles/building-maplestack-tailwind-css-for-streamlined-styling",{"title":66,"path":67,"stem":68},"Debugging Multiple NestJS Applications in VSCode","/articles/debugging-multiple-nestjs-applications-in-vscode","articles/debugging-multiple-nestjs-applications-in-vscode",{"title":70,"path":71,"stem":72},"Enums as arrays in PostgreSQL - Updated 2024","/articles/enums-as-arrays-in-postgresql","articles/enums-as-arrays-in-postgresql",{"title":74,"path":75,"stem":76},"FindChildcare.ca","/articles/findchildcare-ca","articles/findchildcare-ca",{"title":78,"path":79,"stem":80},"GraphQL Server - Apollo, KoaJS and Typescript implementation","/articles/graphql-server-apollo-koajs-and-typescript-implementation","articles/graphql-server-apollo-koajs-and-typescript-implementation",{"title":82,"path":83,"stem":84},"How I built MapleStack's waitlist with AI: ChatGPT vs Bard","/articles/how-i-built-maplestacks-waitlist-with-ai-chatgpt-vs-bard","articles/how-i-built-maplestacks-waitlist-with-ai-chatgpt-vs-bard",{"title":86,"path":87,"stem":88},"How to Integrate Google reCAPTCHA v3 with NestJS in 3 Easy Steps","/articles/how-to-integrate-google-recaptcha-v3-with-nestjs-in-3-easy-steps","articles/how-to-integrate-google-recaptcha-v3-with-nestjs-in-3-easy-steps",{"title":90,"path":91,"stem":92},"How to resolve a blacklisted domain","/articles/how-to-resolve-a-blacklisted-domain","articles/how-to-resolve-a-blacklisted-domain",{"title":94,"path":95,"stem":96},"Implementing WordPress-like Tags in Nuxt Content","/articles/implementing-wordpress-like-tags-in-nuxt","articles/implementing-wordpress-like-tags-in-nuxt",{"title":98,"path":99,"stem":100},"Jobven","/articles/jobven","articles/jobven",{"title":102,"path":103,"stem":104},"KidzLog","/articles/kidzlog","articles/kidzlog",{"title":106,"path":107,"stem":108},"MapleStack","/articles/maplestack","articles/maplestack",{"title":110,"path":111,"stem":112},"Migrating from WordPress to Nuxt","/articles/migrating-from-wordpress-to-nuxt","articles/migrating-from-wordpress-to-nuxt",{"title":114,"path":115,"stem":116},"My Initial Server Setup Checklist","/articles/my-initial-server-setup-checklist","articles/my-initial-server-setup-checklist",{"title":118,"path":119,"stem":120},"Pre-authorized transaction on the Stellar network","/articles/pre-authorized-transaction-on-the-stellar-network","articles/pre-authorized-transaction-on-the-stellar-network",{"title":122,"path":123,"stem":124},"Saza: Open Source mobile and desktop Stellar wallet release.","/articles/saza-open-source-mobile-and-desktop-stellar-wallet-release","articles/saza-open-source-mobile-and-desktop-stellar-wallet-release",{"title":126,"path":127,"stem":128},"SpellCheckMySite.com","/articles/spellcheckmysite-com","articles/spellcheckmysite-com",{"title":130,"path":131,"stem":132},"Using Check Constraints in PostgreSQL for Value Validation","/articles/using-check-constraints-in-postgresql-for-value-validation","articles/using-check-constraints-in-postgresql-for-value-validation",{"title":134,"path":135,"stem":136},"Using DataLoader in GraphQL","/articles/using-dataloader-in-graphql","articles/using-dataloader-in-graphql",{"title":138,"path":139,"stem":140},"Using Typescript in NodeJS development","/articles/using-typescript-in-nodejs-development","articles/using-typescript-in-nodejs-development",{"title":142,"path":143,"stem":144},"Welcome!","/articles/welcome","articles/welcome",false,1776556852255]