Open service 13.225.239.126:443 · www.markwindsor.ca
2026-01-25 21:13
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 48691
Connection: close
Date: Sat, 24 Jan 2026 16:27:41 GMT
x-dns-prefetch-control: on
strict-transport-security: max-age=31536000; includeSubDomains
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: origin-when-cross-origin
x-nextjs-cache: HIT
x-nextjs-prerender: 1
x-nextjs-stale-time: 4294967294
Cache-Control: s-maxage=31536000
ETag: "1567y4qabm111ix"
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 77342390d587adbde92e099c9a3dd522.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: BRU50-P2
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: 33SxTVHmui48tMKzW16Ej4QNewHNLfSE2XZd2_-zuLvtVkrxlV7nwg==
Age: 103529
Page title: Mark Windsor | AI Agent Engineer & Full Stack Developer
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9e8f8c5627c6072b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-018f9c046781865d.js"/><script src="/_next/static/chunks/4bd1b696-8d01fd84b6df07f1.js" async=""></script><script src="/_next/static/chunks/684-5b06d1673bce3e7d.js" async=""></script><script src="/_next/static/chunks/main-app-6e83c4f831b8b5f1.js" async=""></script><script src="/_next/static/chunks/app/layout-9d5141b192292e47.js" async=""></script><script src="/_next/static/chunks/465-5f584e80c475d281.js" async=""></script><script src="/_next/static/chunks/app/page-6a816184c7f66020.js" async=""></script><meta name="next-size-adjust" content=""/><title>Mark Windsor | AI Agent Engineer & Full Stack Developer</title><meta name="description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows with Next.js, Python, AWS, and FastAPI."/><meta name="author" content="Mark Windsor"/><meta name="keywords" content="AI agents,LLM automation,full stack engineer,Next.js,Python,AWS,FastAPI,economic data,research automation,data science,web development,Mark Windsor"/><meta name="creator" content="Mark Windsor"/><meta name="publisher" content="Mark Windsor"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="https://markwindsor.ca"/><meta property="og:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta property="og:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows."/><meta property="og:url" content="https://markwindsor.ca"/><meta property="og:site_name" content="Mark Windsor Portfolio"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://markwindsor.ca/og-image.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Mark Windsor - AI Agent Engineer & Full Stack Developer"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@atlas_res"/><meta name="twitter:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta name="twitter:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis."/><meta name="twitter:image" content="https://markwindsor.ca/og-image.png"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background antialiased __className_3c557b"><script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://markwindsor.ca/#person","name":"Mark Windsor","url":"https://markwindsor.ca","jobTitle":"AI Agent Engineer & Full Stack Developer","description":"Full stack engineer specializing in AI agents, LLM automation, and economic data analysis","knowsAbout":["AI Agents","LLM Automation","Full Stack Development","Next.js","Python","AWS","FastAPI","Economic Data Analysis","Research Automation","Data Science"],"sameAs":["https://github.com/markwindsorr","https://linkedin.com/in/markwindsorr","https://x.com/atlas_res"],"worksFor":{"@type":"Or
Open service 65.9.175.41:443 · markwindsor.ca
2026-01-23 21:19
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 48691
Connection: close
Date: Fri, 23 Jan 2026 21:19:34 GMT
x-dns-prefetch-control: on
strict-transport-security: max-age=31536000; includeSubDomains
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: origin-when-cross-origin
x-nextjs-cache: HIT
x-nextjs-prerender: 1
x-nextjs-stale-time: 4294967294
Cache-Control: s-maxage=31536000
ETag: "1567y4qabm111ix"
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 733dda36f703f66d7e387b2e9c7820ba.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA60-P14
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: 572mUGJ2lo7Z6_FfZ4JKEsW1YW7wM7B4zLjsgFvhttuNUgJ6y809Gw==
Page title: Mark Windsor | AI Agent Engineer & Full Stack Developer
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9e8f8c5627c6072b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-018f9c046781865d.js"/><script src="/_next/static/chunks/4bd1b696-8d01fd84b6df07f1.js" async=""></script><script src="/_next/static/chunks/684-5b06d1673bce3e7d.js" async=""></script><script src="/_next/static/chunks/main-app-6e83c4f831b8b5f1.js" async=""></script><script src="/_next/static/chunks/app/layout-9d5141b192292e47.js" async=""></script><script src="/_next/static/chunks/465-5f584e80c475d281.js" async=""></script><script src="/_next/static/chunks/app/page-6a816184c7f66020.js" async=""></script><meta name="next-size-adjust" content=""/><title>Mark Windsor | AI Agent Engineer & Full Stack Developer</title><meta name="description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows with Next.js, Python, AWS, and FastAPI."/><meta name="author" content="Mark Windsor"/><meta name="keywords" content="AI agents,LLM automation,full stack engineer,Next.js,Python,AWS,FastAPI,economic data,research automation,data science,web development,Mark Windsor"/><meta name="creator" content="Mark Windsor"/><meta name="publisher" content="Mark Windsor"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="https://markwindsor.ca"/><meta property="og:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta property="og:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows."/><meta property="og:url" content="https://markwindsor.ca"/><meta property="og:site_name" content="Mark Windsor Portfolio"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://markwindsor.ca/og-image.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Mark Windsor - AI Agent Engineer & Full Stack Developer"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@atlas_res"/><meta name="twitter:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta name="twitter:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis."/><meta name="twitter:image" content="https://markwindsor.ca/og-image.png"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background antialiased __className_3c557b"><script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://markwindsor.ca/#person","name":"Mark Windsor","url":"https://markwindsor.ca","jobTitle":"AI Agent Engineer & Full Stack Developer","description":"Full stack engineer specializing in AI agents, LLM automation, and economic data analysis","knowsAbout":["AI Agents","LLM Automation","Full Stack Development","Next.js","Python","AWS","FastAPI","Economic Data Analysis","Research Automation","Data Science"],"sameAs":["https://github.com/markwindsorr","https://linkedin.com/in/markwindsorr","https://x.com/atlas_res"],"worksFor":{"@type":"Or
Open service 13.225.239.126:443 · www.markwindsor.ca
2026-01-23 21:10
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 48691
Connection: close
Date: Fri, 23 Jan 2026 21:10:41 GMT
x-dns-prefetch-control: on
strict-transport-security: max-age=31536000; includeSubDomains
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: origin-when-cross-origin
x-nextjs-cache: HIT
x-nextjs-prerender: 1
x-nextjs-stale-time: 4294967294
Cache-Control: s-maxage=31536000
ETag: "1567y4qabm111ix"
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 08cc311c58f07b3d148825438fd216f0.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: BRU50-P2
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: oJO_q39EEY_yOaNUFbMg-AaAG4HBJfXAazuuCt4arEBzFIpIPSRkqQ==
Page title: Mark Windsor | AI Agent Engineer & Full Stack Developer
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9e8f8c5627c6072b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-018f9c046781865d.js"/><script src="/_next/static/chunks/4bd1b696-8d01fd84b6df07f1.js" async=""></script><script src="/_next/static/chunks/684-5b06d1673bce3e7d.js" async=""></script><script src="/_next/static/chunks/main-app-6e83c4f831b8b5f1.js" async=""></script><script src="/_next/static/chunks/app/layout-9d5141b192292e47.js" async=""></script><script src="/_next/static/chunks/465-5f584e80c475d281.js" async=""></script><script src="/_next/static/chunks/app/page-6a816184c7f66020.js" async=""></script><meta name="next-size-adjust" content=""/><title>Mark Windsor | AI Agent Engineer & Full Stack Developer</title><meta name="description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows with Next.js, Python, AWS, and FastAPI."/><meta name="author" content="Mark Windsor"/><meta name="keywords" content="AI agents,LLM automation,full stack engineer,Next.js,Python,AWS,FastAPI,economic data,research automation,data science,web development,Mark Windsor"/><meta name="creator" content="Mark Windsor"/><meta name="publisher" content="Mark Windsor"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="https://markwindsor.ca"/><meta property="og:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta property="og:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows."/><meta property="og:url" content="https://markwindsor.ca"/><meta property="og:site_name" content="Mark Windsor Portfolio"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://markwindsor.ca/og-image.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Mark Windsor - AI Agent Engineer & Full Stack Developer"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@atlas_res"/><meta name="twitter:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta name="twitter:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis."/><meta name="twitter:image" content="https://markwindsor.ca/og-image.png"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background antialiased __className_3c557b"><script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://markwindsor.ca/#person","name":"Mark Windsor","url":"https://markwindsor.ca","jobTitle":"AI Agent Engineer & Full Stack Developer","description":"Full stack engineer specializing in AI agents, LLM automation, and economic data analysis","knowsAbout":["AI Agents","LLM Automation","Full Stack Development","Next.js","Python","AWS","FastAPI","Economic Data Analysis","Research Automation","Data Science"],"sameAs":["https://github.com/markwindsorr","https://linkedin.com/in/markwindsorr","https://x.com/atlas_res"],"worksFor":{"@type":"Or
Open service 65.9.175.41:443 · markwindsor.ca
2026-01-22 21:31
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 48691
Connection: close
Date: Thu, 22 Jan 2026 21:31:51 GMT
x-dns-prefetch-control: on
strict-transport-security: max-age=31536000; includeSubDomains
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: origin-when-cross-origin
x-nextjs-cache: HIT
x-nextjs-prerender: 1
x-nextjs-stale-time: 4294967294
Cache-Control: s-maxage=31536000
ETag: "1567y4qabm111ix"
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 5a7aeff2d396b9667469b83aa6741fca.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA60-P14
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: BvLwAJPJGADgv2t-4ABhc3Gm4IBbriocBGMd09KpnC2ZiPqkYyf42A==
Age: 1
Page title: Mark Windsor | AI Agent Engineer & Full Stack Developer
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9e8f8c5627c6072b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-018f9c046781865d.js"/><script src="/_next/static/chunks/4bd1b696-8d01fd84b6df07f1.js" async=""></script><script src="/_next/static/chunks/684-5b06d1673bce3e7d.js" async=""></script><script src="/_next/static/chunks/main-app-6e83c4f831b8b5f1.js" async=""></script><script src="/_next/static/chunks/app/layout-9d5141b192292e47.js" async=""></script><script src="/_next/static/chunks/465-5f584e80c475d281.js" async=""></script><script src="/_next/static/chunks/app/page-6a816184c7f66020.js" async=""></script><meta name="next-size-adjust" content=""/><title>Mark Windsor | AI Agent Engineer & Full Stack Developer</title><meta name="description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows with Next.js, Python, AWS, and FastAPI."/><meta name="author" content="Mark Windsor"/><meta name="keywords" content="AI agents,LLM automation,full stack engineer,Next.js,Python,AWS,FastAPI,economic data,research automation,data science,web development,Mark Windsor"/><meta name="creator" content="Mark Windsor"/><meta name="publisher" content="Mark Windsor"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="https://markwindsor.ca"/><meta property="og:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta property="og:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows."/><meta property="og:url" content="https://markwindsor.ca"/><meta property="og:site_name" content="Mark Windsor Portfolio"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://markwindsor.ca/og-image.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Mark Windsor - AI Agent Engineer & Full Stack Developer"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@atlas_res"/><meta name="twitter:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta name="twitter:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis."/><meta name="twitter:image" content="https://markwindsor.ca/og-image.png"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background antialiased __className_3c557b"><script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://markwindsor.ca/#person","name":"Mark Windsor","url":"https://markwindsor.ca","jobTitle":"AI Agent Engineer & Full Stack Developer","description":"Full stack engineer specializing in AI agents, LLM automation, and economic data analysis","knowsAbout":["AI Agents","LLM Automation","Full Stack Development","Next.js","Python","AWS","FastAPI","Economic Data Analysis","Research Automation","Data Science"],"sameAs":["https://github.com/markwindsorr","https://linkedin.com/in/markwindsorr","https://x.com/atlas_res"],"worksFor":{"@type":"Or
Open service 13.225.239.126:443 · www.markwindsor.ca
2026-01-22 21:28
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 48691
Connection: close
Date: Thu, 22 Jan 2026 21:28:27 GMT
x-dns-prefetch-control: on
strict-transport-security: max-age=31536000; includeSubDomains
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: origin-when-cross-origin
x-nextjs-cache: HIT
x-nextjs-prerender: 1
x-nextjs-stale-time: 4294967294
Cache-Control: s-maxage=31536000
ETag: "1567y4qabm111ix"
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 c44024ffeafa2f4c832dd860c03880c0.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: BRU50-P2
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: tQ41kSLPqwBDdvhawIeOZx55G6QHghzpbWM-KPjDJ9y4AOJw6pIyZg==
Age: 1
Page title: Mark Windsor | AI Agent Engineer & Full Stack Developer
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9e8f8c5627c6072b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-018f9c046781865d.js"/><script src="/_next/static/chunks/4bd1b696-8d01fd84b6df07f1.js" async=""></script><script src="/_next/static/chunks/684-5b06d1673bce3e7d.js" async=""></script><script src="/_next/static/chunks/main-app-6e83c4f831b8b5f1.js" async=""></script><script src="/_next/static/chunks/app/layout-9d5141b192292e47.js" async=""></script><script src="/_next/static/chunks/465-5f584e80c475d281.js" async=""></script><script src="/_next/static/chunks/app/page-6a816184c7f66020.js" async=""></script><meta name="next-size-adjust" content=""/><title>Mark Windsor | AI Agent Engineer & Full Stack Developer</title><meta name="description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows with Next.js, Python, AWS, and FastAPI."/><meta name="author" content="Mark Windsor"/><meta name="keywords" content="AI agents,LLM automation,full stack engineer,Next.js,Python,AWS,FastAPI,economic data,research automation,data science,web development,Mark Windsor"/><meta name="creator" content="Mark Windsor"/><meta name="publisher" content="Mark Windsor"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="https://markwindsor.ca"/><meta property="og:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta property="og:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows."/><meta property="og:url" content="https://markwindsor.ca"/><meta property="og:site_name" content="Mark Windsor Portfolio"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://markwindsor.ca/og-image.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Mark Windsor - AI Agent Engineer & Full Stack Developer"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@atlas_res"/><meta name="twitter:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta name="twitter:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis."/><meta name="twitter:image" content="https://markwindsor.ca/og-image.png"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background antialiased __className_3c557b"><script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://markwindsor.ca/#person","name":"Mark Windsor","url":"https://markwindsor.ca","jobTitle":"AI Agent Engineer & Full Stack Developer","description":"Full stack engineer specializing in AI agents, LLM automation, and economic data analysis","knowsAbout":["AI Agents","LLM Automation","Full Stack Development","Next.js","Python","AWS","FastAPI","Economic Data Analysis","Research Automation","Data Science"],"sameAs":["https://github.com/markwindsorr","https://linkedin.com/in/markwindsorr","https://x.com/atlas_res"],"worksFor":{"@type":"Or
Open service 13.225.239.126:443 · www.markwindsor.ca
2026-01-21 21:32
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 48691
Connection: close
Date: Tue, 06 Jan 2026 21:24:06 GMT
x-dns-prefetch-control: on
strict-transport-security: max-age=31536000; includeSubDomains
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: origin-when-cross-origin
x-nextjs-cache: HIT
x-nextjs-prerender: 1
x-nextjs-stale-time: 4294967294
Cache-Control: s-maxage=31536000
ETag: "1567y4qabm111ix"
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 08d429f60db00306b97babcd18d71312.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: BRU50-P2
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: qBgmX5csEnWIlPyJKO-Zl7LkA-UyU95tw7j6p_hMtC_DT9fXrDcedQ==
Age: 1296499
Page title: Mark Windsor | AI Agent Engineer & Full Stack Developer
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9e8f8c5627c6072b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-018f9c046781865d.js"/><script src="/_next/static/chunks/4bd1b696-8d01fd84b6df07f1.js" async=""></script><script src="/_next/static/chunks/684-5b06d1673bce3e7d.js" async=""></script><script src="/_next/static/chunks/main-app-6e83c4f831b8b5f1.js" async=""></script><script src="/_next/static/chunks/app/layout-9d5141b192292e47.js" async=""></script><script src="/_next/static/chunks/465-5f584e80c475d281.js" async=""></script><script src="/_next/static/chunks/app/page-6a816184c7f66020.js" async=""></script><meta name="next-size-adjust" content=""/><title>Mark Windsor | AI Agent Engineer & Full Stack Developer</title><meta name="description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows with Next.js, Python, AWS, and FastAPI."/><meta name="author" content="Mark Windsor"/><meta name="keywords" content="AI agents,LLM automation,full stack engineer,Next.js,Python,AWS,FastAPI,economic data,research automation,data science,web development,Mark Windsor"/><meta name="creator" content="Mark Windsor"/><meta name="publisher" content="Mark Windsor"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="https://markwindsor.ca"/><meta property="og:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta property="og:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows."/><meta property="og:url" content="https://markwindsor.ca"/><meta property="og:site_name" content="Mark Windsor Portfolio"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://markwindsor.ca/og-image.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Mark Windsor - AI Agent Engineer & Full Stack Developer"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@atlas_res"/><meta name="twitter:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta name="twitter:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis."/><meta name="twitter:image" content="https://markwindsor.ca/og-image.png"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background antialiased __className_3c557b"><script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://markwindsor.ca/#person","name":"Mark Windsor","url":"https://markwindsor.ca","jobTitle":"AI Agent Engineer & Full Stack Developer","description":"Full stack engineer specializing in AI agents, LLM automation, and economic data analysis","knowsAbout":["AI Agents","LLM Automation","Full Stack Development","Next.js","Python","AWS","FastAPI","Economic Data Analysis","Research Automation","Data Science"],"sameAs":["https://github.com/markwindsorr","https://linkedin.com/in/markwindsorr","https://x.com/atlas_res"],"worksFor":{"@type":"Or
Open service 65.9.175.41:443 · markwindsor.ca
2026-01-21 21:29
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 48691
Connection: close
Date: Wed, 21 Jan 2026 21:29:03 GMT
x-dns-prefetch-control: on
strict-transport-security: max-age=31536000; includeSubDomains
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: origin-when-cross-origin
x-nextjs-cache: HIT
x-nextjs-prerender: 1
x-nextjs-stale-time: 4294967294
Cache-Control: s-maxage=31536000
ETag: "1567y4qabm111ix"
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 b608ed0f3426ba08cff51718fbecc028.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA60-P14
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: EEC3P_cMt1hsJWVZiAZoikWeLJ_wjLRp8xp8De6L4E8A95vJEqcjHQ==
Page title: Mark Windsor | AI Agent Engineer & Full Stack Developer
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9e8f8c5627c6072b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-018f9c046781865d.js"/><script src="/_next/static/chunks/4bd1b696-8d01fd84b6df07f1.js" async=""></script><script src="/_next/static/chunks/684-5b06d1673bce3e7d.js" async=""></script><script src="/_next/static/chunks/main-app-6e83c4f831b8b5f1.js" async=""></script><script src="/_next/static/chunks/app/layout-9d5141b192292e47.js" async=""></script><script src="/_next/static/chunks/465-5f584e80c475d281.js" async=""></script><script src="/_next/static/chunks/app/page-6a816184c7f66020.js" async=""></script><meta name="next-size-adjust" content=""/><title>Mark Windsor | AI Agent Engineer & Full Stack Developer</title><meta name="description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows with Next.js, Python, AWS, and FastAPI."/><meta name="author" content="Mark Windsor"/><meta name="keywords" content="AI agents,LLM automation,full stack engineer,Next.js,Python,AWS,FastAPI,economic data,research automation,data science,web development,Mark Windsor"/><meta name="creator" content="Mark Windsor"/><meta name="publisher" content="Mark Windsor"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="https://markwindsor.ca"/><meta property="og:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta property="og:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows."/><meta property="og:url" content="https://markwindsor.ca"/><meta property="og:site_name" content="Mark Windsor Portfolio"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://markwindsor.ca/og-image.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Mark Windsor - AI Agent Engineer & Full Stack Developer"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@atlas_res"/><meta name="twitter:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta name="twitter:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis."/><meta name="twitter:image" content="https://markwindsor.ca/og-image.png"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background antialiased __className_3c557b"><script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://markwindsor.ca/#person","name":"Mark Windsor","url":"https://markwindsor.ca","jobTitle":"AI Agent Engineer & Full Stack Developer","description":"Full stack engineer specializing in AI agents, LLM automation, and economic data analysis","knowsAbout":["AI Agents","LLM Automation","Full Stack Development","Next.js","Python","AWS","FastAPI","Economic Data Analysis","Research Automation","Data Science"],"sameAs":["https://github.com/markwindsorr","https://linkedin.com/in/markwindsorr","https://x.com/atlas_res"],"worksFor":{"@type":"Or
Open service 13.225.239.126:443 · www.markwindsor.ca
2026-01-12 21:27
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 48691
Connection: close
Date: Mon, 12 Jan 2026 21:27:52 GMT
x-dns-prefetch-control: on
strict-transport-security: max-age=31536000; includeSubDomains
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: origin-when-cross-origin
x-nextjs-cache: HIT
x-nextjs-prerender: 1
x-nextjs-stale-time: 4294967294
Cache-Control: s-maxage=31536000
ETag: "1567y4qabm111ix"
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 d07d04cb99100af92beb478121b69eec.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: BRU50-P2
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: wOvmY8OFREbcqwxD_BOaZMRke7rOh7W3E-81xb4s_Qx6nP5O_gBwvQ==
Age: 1
Page title: Mark Windsor | AI Agent Engineer & Full Stack Developer
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9e8f8c5627c6072b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-018f9c046781865d.js"/><script src="/_next/static/chunks/4bd1b696-8d01fd84b6df07f1.js" async=""></script><script src="/_next/static/chunks/684-5b06d1673bce3e7d.js" async=""></script><script src="/_next/static/chunks/main-app-6e83c4f831b8b5f1.js" async=""></script><script src="/_next/static/chunks/app/layout-9d5141b192292e47.js" async=""></script><script src="/_next/static/chunks/465-5f584e80c475d281.js" async=""></script><script src="/_next/static/chunks/app/page-6a816184c7f66020.js" async=""></script><meta name="next-size-adjust" content=""/><title>Mark Windsor | AI Agent Engineer & Full Stack Developer</title><meta name="description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows with Next.js, Python, AWS, and FastAPI."/><meta name="author" content="Mark Windsor"/><meta name="keywords" content="AI agents,LLM automation,full stack engineer,Next.js,Python,AWS,FastAPI,economic data,research automation,data science,web development,Mark Windsor"/><meta name="creator" content="Mark Windsor"/><meta name="publisher" content="Mark Windsor"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="https://markwindsor.ca"/><meta property="og:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta property="og:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows."/><meta property="og:url" content="https://markwindsor.ca"/><meta property="og:site_name" content="Mark Windsor Portfolio"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://markwindsor.ca/og-image.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Mark Windsor - AI Agent Engineer & Full Stack Developer"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@atlas_res"/><meta name="twitter:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta name="twitter:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis."/><meta name="twitter:image" content="https://markwindsor.ca/og-image.png"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background antialiased __className_3c557b"><script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://markwindsor.ca/#person","name":"Mark Windsor","url":"https://markwindsor.ca","jobTitle":"AI Agent Engineer & Full Stack Developer","description":"Full stack engineer specializing in AI agents, LLM automation, and economic data analysis","knowsAbout":["AI Agents","LLM Automation","Full Stack Development","Next.js","Python","AWS","FastAPI","Economic Data Analysis","Research Automation","Data Science"],"sameAs":["https://github.com/markwindsorr","https://linkedin.com/in/markwindsorr","https://x.com/atlas_res"],"worksFor":{"@type":"Or
Open service 65.9.175.41:443 · markwindsor.ca
2026-01-12 21:25
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 48691
Connection: close
Date: Mon, 12 Jan 2026 21:25:08 GMT
x-dns-prefetch-control: on
strict-transport-security: max-age=31536000; includeSubDomains
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: origin-when-cross-origin
x-nextjs-cache: HIT
x-nextjs-prerender: 1
x-nextjs-stale-time: 4294967294
Cache-Control: s-maxage=31536000
ETag: "1567y4qabm111ix"
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 bab0321b4bf0fd055bdfb0282cee7346.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA60-P14
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: lZr_-Vp2WRE5MIlxiR_Ns49kHc7TdmZTRmrnEmlH_Gk0RoLxpVUA0w==
Age: 1
Page title: Mark Windsor | AI Agent Engineer & Full Stack Developer
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9e8f8c5627c6072b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-018f9c046781865d.js"/><script src="/_next/static/chunks/4bd1b696-8d01fd84b6df07f1.js" async=""></script><script src="/_next/static/chunks/684-5b06d1673bce3e7d.js" async=""></script><script src="/_next/static/chunks/main-app-6e83c4f831b8b5f1.js" async=""></script><script src="/_next/static/chunks/app/layout-9d5141b192292e47.js" async=""></script><script src="/_next/static/chunks/465-5f584e80c475d281.js" async=""></script><script src="/_next/static/chunks/app/page-6a816184c7f66020.js" async=""></script><meta name="next-size-adjust" content=""/><title>Mark Windsor | AI Agent Engineer & Full Stack Developer</title><meta name="description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows with Next.js, Python, AWS, and FastAPI."/><meta name="author" content="Mark Windsor"/><meta name="keywords" content="AI agents,LLM automation,full stack engineer,Next.js,Python,AWS,FastAPI,economic data,research automation,data science,web development,Mark Windsor"/><meta name="creator" content="Mark Windsor"/><meta name="publisher" content="Mark Windsor"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="https://markwindsor.ca"/><meta property="og:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta property="og:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows."/><meta property="og:url" content="https://markwindsor.ca"/><meta property="og:site_name" content="Mark Windsor Portfolio"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://markwindsor.ca/og-image.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Mark Windsor - AI Agent Engineer & Full Stack Developer"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@atlas_res"/><meta name="twitter:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta name="twitter:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis."/><meta name="twitter:image" content="https://markwindsor.ca/og-image.png"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background antialiased __className_3c557b"><script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://markwindsor.ca/#person","name":"Mark Windsor","url":"https://markwindsor.ca","jobTitle":"AI Agent Engineer & Full Stack Developer","description":"Full stack engineer specializing in AI agents, LLM automation, and economic data analysis","knowsAbout":["AI Agents","LLM Automation","Full Stack Development","Next.js","Python","AWS","FastAPI","Economic Data Analysis","Research Automation","Data Science"],"sameAs":["https://github.com/markwindsorr","https://linkedin.com/in/markwindsorr","https://x.com/atlas_res"],"worksFor":{"@type":"Or
Open service 65.9.175.41:443 · markwindsor.ca
2026-01-11 21:33
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 48691
Connection: close
Date: Sun, 11 Jan 2026 21:33:49 GMT
x-dns-prefetch-control: on
strict-transport-security: max-age=31536000; includeSubDomains
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: origin-when-cross-origin
x-nextjs-cache: HIT
x-nextjs-prerender: 1
x-nextjs-stale-time: 4294967294
Cache-Control: s-maxage=31536000
ETag: "1567y4qabm111ix"
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 adbe45cb4997e6da65586fdd3a19215e.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA60-P14
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: _ViqFAGAfHEgJ7BtiNZSQeQami2Ar40aP0Ef3zDocOMhKL5cQhWn4Q==
Age: 2
Page title: Mark Windsor | AI Agent Engineer & Full Stack Developer
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9e8f8c5627c6072b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-018f9c046781865d.js"/><script src="/_next/static/chunks/4bd1b696-8d01fd84b6df07f1.js" async=""></script><script src="/_next/static/chunks/684-5b06d1673bce3e7d.js" async=""></script><script src="/_next/static/chunks/main-app-6e83c4f831b8b5f1.js" async=""></script><script src="/_next/static/chunks/app/layout-9d5141b192292e47.js" async=""></script><script src="/_next/static/chunks/465-5f584e80c475d281.js" async=""></script><script src="/_next/static/chunks/app/page-6a816184c7f66020.js" async=""></script><meta name="next-size-adjust" content=""/><title>Mark Windsor | AI Agent Engineer & Full Stack Developer</title><meta name="description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows with Next.js, Python, AWS, and FastAPI."/><meta name="author" content="Mark Windsor"/><meta name="keywords" content="AI agents,LLM automation,full stack engineer,Next.js,Python,AWS,FastAPI,economic data,research automation,data science,web development,Mark Windsor"/><meta name="creator" content="Mark Windsor"/><meta name="publisher" content="Mark Windsor"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="https://markwindsor.ca"/><meta property="og:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta property="og:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows."/><meta property="og:url" content="https://markwindsor.ca"/><meta property="og:site_name" content="Mark Windsor Portfolio"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://markwindsor.ca/og-image.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Mark Windsor - AI Agent Engineer & Full Stack Developer"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@atlas_res"/><meta name="twitter:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta name="twitter:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis."/><meta name="twitter:image" content="https://markwindsor.ca/og-image.png"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background antialiased __className_3c557b"><script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://markwindsor.ca/#person","name":"Mark Windsor","url":"https://markwindsor.ca","jobTitle":"AI Agent Engineer & Full Stack Developer","description":"Full stack engineer specializing in AI agents, LLM automation, and economic data analysis","knowsAbout":["AI Agents","LLM Automation","Full Stack Development","Next.js","Python","AWS","FastAPI","Economic Data Analysis","Research Automation","Data Science"],"sameAs":["https://github.com/markwindsorr","https://linkedin.com/in/markwindsorr","https://x.com/atlas_res"],"worksFor":{"@type":"Or
Open service 13.225.239.126:443 · www.markwindsor.ca
2026-01-11 21:30
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 48691
Connection: close
Date: Tue, 06 Jan 2026 21:24:06 GMT
x-dns-prefetch-control: on
strict-transport-security: max-age=31536000; includeSubDomains
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: origin-when-cross-origin
x-nextjs-cache: HIT
x-nextjs-prerender: 1
x-nextjs-stale-time: 4294967294
Cache-Control: s-maxage=31536000
ETag: "1567y4qabm111ix"
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 c44024ffeafa2f4c832dd860c03880c0.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: BRU50-P2
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: Dsj8TKVZ1IDAbyWyscoMql2-r773GJnLbNjSs59M0uI_kVVVwHGW7Q==
Age: 432369
Page title: Mark Windsor | AI Agent Engineer & Full Stack Developer
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9e8f8c5627c6072b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-018f9c046781865d.js"/><script src="/_next/static/chunks/4bd1b696-8d01fd84b6df07f1.js" async=""></script><script src="/_next/static/chunks/684-5b06d1673bce3e7d.js" async=""></script><script src="/_next/static/chunks/main-app-6e83c4f831b8b5f1.js" async=""></script><script src="/_next/static/chunks/app/layout-9d5141b192292e47.js" async=""></script><script src="/_next/static/chunks/465-5f584e80c475d281.js" async=""></script><script src="/_next/static/chunks/app/page-6a816184c7f66020.js" async=""></script><meta name="next-size-adjust" content=""/><title>Mark Windsor | AI Agent Engineer & Full Stack Developer</title><meta name="description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows with Next.js, Python, AWS, and FastAPI."/><meta name="author" content="Mark Windsor"/><meta name="keywords" content="AI agents,LLM automation,full stack engineer,Next.js,Python,AWS,FastAPI,economic data,research automation,data science,web development,Mark Windsor"/><meta name="creator" content="Mark Windsor"/><meta name="publisher" content="Mark Windsor"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="https://markwindsor.ca"/><meta property="og:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta property="og:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows."/><meta property="og:url" content="https://markwindsor.ca"/><meta property="og:site_name" content="Mark Windsor Portfolio"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://markwindsor.ca/og-image.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Mark Windsor - AI Agent Engineer & Full Stack Developer"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@atlas_res"/><meta name="twitter:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta name="twitter:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis."/><meta name="twitter:image" content="https://markwindsor.ca/og-image.png"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background antialiased __className_3c557b"><script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://markwindsor.ca/#person","name":"Mark Windsor","url":"https://markwindsor.ca","jobTitle":"AI Agent Engineer & Full Stack Developer","description":"Full stack engineer specializing in AI agents, LLM automation, and economic data analysis","knowsAbout":["AI Agents","LLM Automation","Full Stack Development","Next.js","Python","AWS","FastAPI","Economic Data Analysis","Research Automation","Data Science"],"sameAs":["https://github.com/markwindsorr","https://linkedin.com/in/markwindsorr","https://x.com/atlas_res"],"worksFor":{"@type":"Or
Open service 13.225.239.126:443 · www.markwindsor.ca
2026-01-10 21:22
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 48691
Connection: close
Date: Tue, 06 Jan 2026 21:24:06 GMT
x-dns-prefetch-control: on
strict-transport-security: max-age=31536000; includeSubDomains
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: origin-when-cross-origin
x-nextjs-cache: HIT
x-nextjs-prerender: 1
x-nextjs-stale-time: 4294967294
Cache-Control: s-maxage=31536000
ETag: "1567y4qabm111ix"
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 f581f5706f73f8af05a831bfd7baee76.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: BRU50-P2
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: eQLMFfOXwg0NbzHe_oxeG12nGe_ARbOaVFbH9FWTTBKMf-YEAb_gPA==
Age: 345511
Page title: Mark Windsor | AI Agent Engineer & Full Stack Developer
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9e8f8c5627c6072b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-018f9c046781865d.js"/><script src="/_next/static/chunks/4bd1b696-8d01fd84b6df07f1.js" async=""></script><script src="/_next/static/chunks/684-5b06d1673bce3e7d.js" async=""></script><script src="/_next/static/chunks/main-app-6e83c4f831b8b5f1.js" async=""></script><script src="/_next/static/chunks/app/layout-9d5141b192292e47.js" async=""></script><script src="/_next/static/chunks/465-5f584e80c475d281.js" async=""></script><script src="/_next/static/chunks/app/page-6a816184c7f66020.js" async=""></script><meta name="next-size-adjust" content=""/><title>Mark Windsor | AI Agent Engineer & Full Stack Developer</title><meta name="description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows with Next.js, Python, AWS, and FastAPI."/><meta name="author" content="Mark Windsor"/><meta name="keywords" content="AI agents,LLM automation,full stack engineer,Next.js,Python,AWS,FastAPI,economic data,research automation,data science,web development,Mark Windsor"/><meta name="creator" content="Mark Windsor"/><meta name="publisher" content="Mark Windsor"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="https://markwindsor.ca"/><meta property="og:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta property="og:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows."/><meta property="og:url" content="https://markwindsor.ca"/><meta property="og:site_name" content="Mark Windsor Portfolio"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://markwindsor.ca/og-image.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Mark Windsor - AI Agent Engineer & Full Stack Developer"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@atlas_res"/><meta name="twitter:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta name="twitter:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis."/><meta name="twitter:image" content="https://markwindsor.ca/og-image.png"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background antialiased __className_3c557b"><script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://markwindsor.ca/#person","name":"Mark Windsor","url":"https://markwindsor.ca","jobTitle":"AI Agent Engineer & Full Stack Developer","description":"Full stack engineer specializing in AI agents, LLM automation, and economic data analysis","knowsAbout":["AI Agents","LLM Automation","Full Stack Development","Next.js","Python","AWS","FastAPI","Economic Data Analysis","Research Automation","Data Science"],"sameAs":["https://github.com/markwindsorr","https://linkedin.com/in/markwindsorr","https://x.com/atlas_res"],"worksFor":{"@type":"Or
Open service 65.9.175.41:443 · markwindsor.ca
2026-01-10 21:21
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 48691
Connection: close
Date: Sat, 10 Jan 2026 21:21:35 GMT
x-dns-prefetch-control: on
strict-transport-security: max-age=31536000; includeSubDomains
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: origin-when-cross-origin
x-nextjs-cache: HIT
x-nextjs-prerender: 1
x-nextjs-stale-time: 4294967294
Cache-Control: s-maxage=31536000
ETag: "1567y4qabm111ix"
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 bab0321b4bf0fd055bdfb0282cee7346.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA60-P14
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: ZABbsGYk34G-p0ZIhXdF8gaSRA-p4hOYSD_ZnOy-5FcKV9V8sZDkxA==
Age: 1
Page title: Mark Windsor | AI Agent Engineer & Full Stack Developer
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9e8f8c5627c6072b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-018f9c046781865d.js"/><script src="/_next/static/chunks/4bd1b696-8d01fd84b6df07f1.js" async=""></script><script src="/_next/static/chunks/684-5b06d1673bce3e7d.js" async=""></script><script src="/_next/static/chunks/main-app-6e83c4f831b8b5f1.js" async=""></script><script src="/_next/static/chunks/app/layout-9d5141b192292e47.js" async=""></script><script src="/_next/static/chunks/465-5f584e80c475d281.js" async=""></script><script src="/_next/static/chunks/app/page-6a816184c7f66020.js" async=""></script><meta name="next-size-adjust" content=""/><title>Mark Windsor | AI Agent Engineer & Full Stack Developer</title><meta name="description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows with Next.js, Python, AWS, and FastAPI."/><meta name="author" content="Mark Windsor"/><meta name="keywords" content="AI agents,LLM automation,full stack engineer,Next.js,Python,AWS,FastAPI,economic data,research automation,data science,web development,Mark Windsor"/><meta name="creator" content="Mark Windsor"/><meta name="publisher" content="Mark Windsor"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="https://markwindsor.ca"/><meta property="og:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta property="og:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis. Building autonomous research workflows."/><meta property="og:url" content="https://markwindsor.ca"/><meta property="og:site_name" content="Mark Windsor Portfolio"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://markwindsor.ca/og-image.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Mark Windsor - AI Agent Engineer & Full Stack Developer"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@atlas_res"/><meta name="twitter:title" content="Mark Windsor | AI Agent Engineer & Full Stack Developer"/><meta name="twitter:description" content="Full stack engineer specializing in AI agents, LLM automation, and economic data analysis."/><meta name="twitter:image" content="https://markwindsor.ca/og-image.png"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background antialiased __className_3c557b"><script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://markwindsor.ca/#person","name":"Mark Windsor","url":"https://markwindsor.ca","jobTitle":"AI Agent Engineer & Full Stack Developer","description":"Full stack engineer specializing in AI agents, LLM automation, and economic data analysis","knowsAbout":["AI Agents","LLM Automation","Full Stack Development","Next.js","Python","AWS","FastAPI","Economic Data Analysis","Research Automation","Data Science"],"sameAs":["https://github.com/markwindsorr","https://linkedin.com/in/markwindsorr","https://x.com/atlas_res"],"worksFor":{"@type":"Or