<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Aaron Wylie - Writing</title>
    <link>https://aaronwylie.com/blog</link>
    <description>Articles on full-stack development, backend, real-time systems, security and observability.</description>
    <language>en-ca</language>
    <item>
      <title>From WordPress to a Modern Stack: Rebuilding with Next.js &amp; a Real API</title>
      <link>https://aaronwylie.com/blog/wordpress-to-modern-stack-nextjs-api</link>
      <guid>https://aaronwylie.com/blog/wordpress-to-modern-stack-nextjs-api</guid>
      <pubDate>Tue, 14 Jul 2026 09:00:00 GMT</pubDate>
      <description>When to migrate off WordPress, what you gain, and how to do it without a big-bang rewrite - preserving SEO along the way.</description>
    </item>
    <item>
      <title>Observability 101: Lessons from a Dynatrace + Kubernetes Lab</title>
      <link>https://aaronwylie.com/blog/observability-101-dynatrace-kubernetes-lab</link>
      <guid>https://aaronwylie.com/blog/observability-101-dynatrace-kubernetes-lab</guid>
      <pubDate>Tue, 09 Jun 2026 09:00:00 GMT</pubDate>
      <description>Metrics, logs and traces - and how building a lab to break things on purpose teaches you to find root causes fast.</description>
    </item>
    <item>
      <title>Broadcasting to a Crowd's Phones with Eddystone BLE Beacons</title>
      <link>https://aaronwylie.com/blog/eddystone-ble-beacons-broadcast-to-phones</link>
      <guid>https://aaronwylie.com/blog/eddystone-ble-beacons-broadcast-to-phones</guid>
      <pubDate>Tue, 12 May 2026 09:00:00 GMT</pubDate>
      <description>How BLE beacons push signals to thousands of phones with no network - the tech behind APPIX, and why broadcast beats connections at scale.</description>
    </item>
    <item>
      <title>Scaling Live Video: An Intro to WebRTC SFUs</title>
      <link>https://aaronwylie.com/blog/scaling-live-video-webrtc-sfu</link>
      <guid>https://aaronwylie.com/blog/scaling-live-video-webrtc-sfu</guid>
      <pubDate>Tue, 14 Apr 2026 09:00:00 GMT</pubDate>
      <description>Why peer-to-peer WebRTC falls apart with an audience, and how a Selective Forwarding Unit makes low-latency one-to-many streaming possible.</description>
    </item>
    <item>
      <title>A Real-Time Webhook Inspector with Fastify &amp; WebSockets</title>
      <link>https://aaronwylie.com/blog/realtime-webhook-inspector-fastify-websockets</link>
      <guid>https://aaronwylie.com/blog/realtime-webhook-inspector-fastify-websockets</guid>
      <pubDate>Tue, 10 Mar 2026 09:00:00 GMT</pubDate>
      <description>Build a tool that gives you a unique URL and streams incoming HTTP requests to your browser live - Fastify, WebSockets, and the nginx gotcha.</description>
    </item>
    <item>
      <title>How k-Anonymity Password Breach Checks Work (and Building One)</title>
      <link>https://aaronwylie.com/blog/k-anonymity-password-breach-checks</link>
      <guid>https://aaronwylie.com/blog/k-anonymity-password-breach-checks</guid>
      <pubDate>Tue, 10 Feb 2026 09:00:00 GMT</pubDate>
      <description>Check whether a password has been breached without ever sending it - the clever cryptographic trick behind Have I Been Pwned, and how to build on it.</description>
    </item>
    <item>
      <title>Preventing SSRF in Node.js: Safe Outbound Requests from User Input</title>
      <link>https://aaronwylie.com/blog/preventing-ssrf-nodejs-outbound-requests</link>
      <guid>https://aaronwylie.com/blog/preventing-ssrf-nodejs-outbound-requests</guid>
      <pubDate>Tue, 13 Jan 2026 09:00:00 GMT</pubDate>
      <description>Any time your server fetches a user-supplied URL you risk SSRF. How the attack works and how to shut it down - including the redirect gotcha.</description>
    </item>
    <item>
      <title>Getting an A on Security Headers: CSP, HSTS &amp; Friends</title>
      <link>https://aaronwylie.com/blog/security-headers-a-grade-csp-hsts</link>
      <guid>https://aaronwylie.com/blog/security-headers-a-grade-csp-hsts</guid>
      <pubDate>Tue, 09 Dec 2025 09:00:00 GMT</pubDate>
      <description>The six response headers that close common browser-side attacks, how to add them at nginx, and how to write a CSP that does not break your site.</description>
    </item>
    <item>
      <title>One Zod Schema, Three Jobs: Validation, Serialization &amp; OpenAPI Docs</title>
      <link>https://aaronwylie.com/blog/zod-single-source-of-truth-fastify-openapi</link>
      <guid>https://aaronwylie.com/blog/zod-single-source-of-truth-fastify-openapi</guid>
      <pubDate>Tue, 11 Nov 2025 09:00:00 GMT</pubDate>
      <description>Make one schema validate requests, serialize responses, and generate your OpenAPI docs - so the docs can never drift from the code.</description>
    </item>
    <item>
      <title>Deploying a Full-Stack App to DigitalOcean with Docker, nginx &amp; HTTPS</title>
      <link>https://aaronwylie.com/blog/deploy-fullstack-digitalocean-docker-nginx</link>
      <guid>https://aaronwylie.com/blog/deploy-fullstack-digitalocean-docker-nginx</guid>
      <pubDate>Tue, 14 Oct 2025 09:00:00 GMT</pubDate>
      <description>A reproducible, one-command deploy of a full-stack app to a $6 Droplet - Docker Compose, nginx reverse proxy, free HTTPS, and the ufw/Docker trap.</description>
    </item>
  </channel>
</rss>