Heroku
tcp/443 tcp/80
Open service 99.83.151.71:443 · www.paulsmith.dev
2026-01-13 01:04
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: public, max-age=0
Content-Length: 41804
Content-Security-Policy: default-src 'self';style-src 'self' 'unsafe-inline';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';upgrade-insecure-requests
Content-Type: text/html; charset=UTF-8
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Resource-Policy: same-origin
Date: Tue, 13 Jan 2026 01:04:04 GMT
Etag: W/"a34c-19adf6bb810"
Expect-Ct: max-age=0
Last-Modified: Tue, 02 Dec 2025 14:16:10 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Origin-Agent-Cluster: ?1
Referrer-Policy: no-referrer
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=57VQ%2BKEe3Ao%2Fy8RSUskhSB3GuF6PPtifHAMDL0ZNLP8%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1768266244"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=57VQ%2BKEe3Ao%2Fy8RSUskhSB3GuF6PPtifHAMDL0ZNLP8%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1768266244"
Server: Heroku
Strict-Transport-Security: max-age=15552000; includeSubDomains
Vary: Accept-Encoding
Via: 1.1 heroku-router
X-Content-Type-Options: nosniff
X-Dns-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Xss-Protection: 0
Connection: close
Page title: Paul Smith | Portfolio
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Paul Smith | Portfolio</title>
<meta name="description" content="Paul Smith's professional portfolio." />
<link rel="preload" href="dist/assets/fonts/RedRose-Bold.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/Roboto-Regular.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/fa-brands-400.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/fa-solid-900.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="images/paul-smith-square-400.jpg" as="image" type="image/jpeg" crossorigin="anonymous" />
<link rel="stylesheet" href="dist/main.bundle.css" />
<link rel="canonical" href="https://www.paulsmith.dev/" />
<link rel="icon" type="image/png" sizes="64x64" href="images/favicon-64.png" />
<link rel="icon" type="image/png" sizes="32x32" href="images/favicon-32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="images/favicon-16.png" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Paul Smith | Portfolio" />
<meta name="twitter:description" content="Hi! I'm Paul Smith. And I'm a professional software engineer." />
<meta name="twitter:creator" content="@paulsmithkc" />
<meta name="twitter:image" content="https://www.paulsmith.dev/images/paul-smith-square-1000.jpg" />
<meta name="facebook-domain-verification" content="l5lltxe7nm6plyxkc6xmhq0kbv0yfj" />
<script async src="dist/main.bundle.js" crossorigin="anonymous"></script>
</head>
<body data-target="#navbar" data-spy="scroll" data-offset="200">
<div class="d-none d-sm-block sticky-top">
<nav id="navbar" class="navbar navbar-expand navbar-light bg-primary border-0">
<a class="navbar-brand" href="#top">Paul Smith</a>
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link" href="#top">Skills</a></li>
<li class="nav-item"><a class="nav-link" href="#projects">Projects</a></li>
<li class="nav-item"><a class="nav-link" href="#courses">Courses</a></li>
<li class="nav-item"><a class="nav-link" href="#gamedev">GameDev</a></li>
<li class="nav-item"><a class="nav-link" href="#experience">Experience</a></li>
<li class="nav-item"><a class="nav-link" href="#education">Education</a></li>
</ul>
</nav>
</div>
<main>
<section id="top">
<div id="top-background"></div>
<div class="container text-center">
<img width="200" height="200" src="images/paul-smith-square-400.jpg" alt="" id="top-photo" crossorigin="anonymous" />
<h1 class="h1">Paul Smith</h1>
<div class="h4">Senior Software Engineer</div>
<div>
<a href="https://www.linkedin.com/in/paul-smith-kc/" target="_blank" class="animated m-2">
<i class="linkedin"></i>
LinkedIn
</a>
<a href="https://github.com/paulsmithkc" target="_blank" class="animated m-2">
<i class="github"></i>
GitHub
</a>
<a href="https://www.youtube.com/user/paulsmithkc" target="_blank" class="animated m-2">
<i class="youtube"></i>
YouTube
</a>
<a href="https://paul-smith-creative.itch.io" target="_blank" class="animated m-2">
<i class="gamepad"></i>
Itch.io
</a>
</div>
</div>
</section>
<section id="skills">
<div class="container">
<h2>Skills</h2>
<div class="text-center">
<span class="badge badge-primary">TypeScript</span>
<span class="badge badge-primary">JavaScript</span>
<span class="badge badge-primary">TailwindCSS</span>
<span class="badge badge-primary">Node.js</span>
<span class="badge badge-primary">Express.js</span>
<span class="badge badge-pri
Open service 75.2.97.79:80 · www.paulsmith.dev
2026-01-13 01:04
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: public, max-age=0
Content-Length: 41804
Content-Security-Policy: default-src 'self';style-src 'self' 'unsafe-inline';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';upgrade-insecure-requests
Content-Type: text/html; charset=UTF-8
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Resource-Policy: same-origin
Date: Tue, 13 Jan 2026 01:05:04 GMT
Etag: W/"a34c-19adf6bb810"
Expect-Ct: max-age=0
Last-Modified: Tue, 02 Dec 2025 14:16:10 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Origin-Agent-Cluster: ?1
Referrer-Policy: no-referrer
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=TadQLI7w19YcLUSiw75ZvkU6LnzCP18PPqA01legBHA%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1768266304"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=TadQLI7w19YcLUSiw75ZvkU6LnzCP18PPqA01legBHA%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1768266304"
Server: Heroku
Strict-Transport-Security: max-age=15552000; includeSubDomains
Vary: Accept-Encoding
Via: 1.1 heroku-router
X-Content-Type-Options: nosniff
X-Dns-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Xss-Protection: 0
Connection: close
Page title: Paul Smith | Portfolio
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Paul Smith | Portfolio</title>
<meta name="description" content="Paul Smith's professional portfolio." />
<link rel="preload" href="dist/assets/fonts/RedRose-Bold.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/Roboto-Regular.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/fa-brands-400.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/fa-solid-900.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="images/paul-smith-square-400.jpg" as="image" type="image/jpeg" crossorigin="anonymous" />
<link rel="stylesheet" href="dist/main.bundle.css" />
<link rel="canonical" href="https://www.paulsmith.dev/" />
<link rel="icon" type="image/png" sizes="64x64" href="images/favicon-64.png" />
<link rel="icon" type="image/png" sizes="32x32" href="images/favicon-32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="images/favicon-16.png" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Paul Smith | Portfolio" />
<meta name="twitter:description" content="Hi! I'm Paul Smith. And I'm a professional software engineer." />
<meta name="twitter:creator" content="@paulsmithkc" />
<meta name="twitter:image" content="https://www.paulsmith.dev/images/paul-smith-square-1000.jpg" />
<meta name="facebook-domain-verification" content="l5lltxe7nm6plyxkc6xmhq0kbv0yfj" />
<script async src="dist/main.bundle.js" crossorigin="anonymous"></script>
</head>
<body data-target="#navbar" data-spy="scroll" data-offset="200">
<div class="d-none d-sm-block sticky-top">
<nav id="navbar" class="navbar navbar-expand navbar-light bg-primary border-0">
<a class="navbar-brand" href="#top">Paul Smith</a>
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link" href="#top">Skills</a></li>
<li class="nav-item"><a class="nav-link" href="#projects">Projects</a></li>
<li class="nav-item"><a class="nav-link" href="#courses">Courses</a></li>
<li class="nav-item"><a class="nav-link" href="#gamedev">GameDev</a></li>
<li class="nav-item"><a class="nav-link" href="#experience">Experience</a></li>
<li class="nav-item"><a class="nav-link" href="#education">Education</a></li>
</ul>
</nav>
</div>
<main>
<section id="top">
<div id="top-background"></div>
<div class="container text-center">
<img width="200" height="200" src="images/paul-smith-square-400.jpg" alt="" id="top-photo" crossorigin="anonymous" />
<h1 class="h1">Paul Smith</h1>
<div class="h4">Senior Software Engineer</div>
<div>
<a href="https://www.linkedin.com/in/paul-smith-kc/" target="_blank" class="animated m-2">
<i class="linkedin"></i>
LinkedIn
</a>
<a href="https://github.com/paulsmithkc" target="_blank" class="animated m-2">
<i class="github"></i>
GitHub
</a>
<a href="https://www.youtube.com/user/paulsmithkc" target="_blank" class="animated m-2">
<i class="youtube"></i>
YouTube
</a>
<a href="https://paul-smith-creative.itch.io" target="_blank" class="animated m-2">
<i class="gamepad"></i>
Itch.io
</a>
</div>
</div>
</section>
<section id="skills">
<div class="container">
<h2>Skills</h2>
<div class="text-center">
<span class="badge badge-primary">TypeScript</span>
<span class="badge badge-primary">JavaScript</span>
<span class="badge badge-primary">TailwindCSS</span>
<span class="badge badge-primary">Node.js</span>
<span class="badge badge-primary">Express.js</span>
<span class="badge badge-pri
Open service 99.83.151.71:80 · www.paulsmith.dev
2026-01-13 01:04
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: public, max-age=0
Content-Length: 41804
Content-Security-Policy: default-src 'self';style-src 'self' 'unsafe-inline';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';upgrade-insecure-requests
Content-Type: text/html; charset=UTF-8
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Resource-Policy: same-origin
Date: Tue, 13 Jan 2026 01:05:04 GMT
Etag: W/"a34c-19adf6bb810"
Expect-Ct: max-age=0
Last-Modified: Tue, 02 Dec 2025 14:16:10 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Origin-Agent-Cluster: ?1
Referrer-Policy: no-referrer
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=TadQLI7w19YcLUSiw75ZvkU6LnzCP18PPqA01legBHA%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1768266304"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=TadQLI7w19YcLUSiw75ZvkU6LnzCP18PPqA01legBHA%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1768266304"
Server: Heroku
Strict-Transport-Security: max-age=15552000; includeSubDomains
Vary: Accept-Encoding
Via: 1.1 heroku-router
X-Content-Type-Options: nosniff
X-Dns-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Xss-Protection: 0
Connection: close
Page title: Paul Smith | Portfolio
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Paul Smith | Portfolio</title>
<meta name="description" content="Paul Smith's professional portfolio." />
<link rel="preload" href="dist/assets/fonts/RedRose-Bold.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/Roboto-Regular.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/fa-brands-400.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/fa-solid-900.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="images/paul-smith-square-400.jpg" as="image" type="image/jpeg" crossorigin="anonymous" />
<link rel="stylesheet" href="dist/main.bundle.css" />
<link rel="canonical" href="https://www.paulsmith.dev/" />
<link rel="icon" type="image/png" sizes="64x64" href="images/favicon-64.png" />
<link rel="icon" type="image/png" sizes="32x32" href="images/favicon-32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="images/favicon-16.png" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Paul Smith | Portfolio" />
<meta name="twitter:description" content="Hi! I'm Paul Smith. And I'm a professional software engineer." />
<meta name="twitter:creator" content="@paulsmithkc" />
<meta name="twitter:image" content="https://www.paulsmith.dev/images/paul-smith-square-1000.jpg" />
<meta name="facebook-domain-verification" content="l5lltxe7nm6plyxkc6xmhq0kbv0yfj" />
<script async src="dist/main.bundle.js" crossorigin="anonymous"></script>
</head>
<body data-target="#navbar" data-spy="scroll" data-offset="200">
<div class="d-none d-sm-block sticky-top">
<nav id="navbar" class="navbar navbar-expand navbar-light bg-primary border-0">
<a class="navbar-brand" href="#top">Paul Smith</a>
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link" href="#top">Skills</a></li>
<li class="nav-item"><a class="nav-link" href="#projects">Projects</a></li>
<li class="nav-item"><a class="nav-link" href="#courses">Courses</a></li>
<li class="nav-item"><a class="nav-link" href="#gamedev">GameDev</a></li>
<li class="nav-item"><a class="nav-link" href="#experience">Experience</a></li>
<li class="nav-item"><a class="nav-link" href="#education">Education</a></li>
</ul>
</nav>
</div>
<main>
<section id="top">
<div id="top-background"></div>
<div class="container text-center">
<img width="200" height="200" src="images/paul-smith-square-400.jpg" alt="" id="top-photo" crossorigin="anonymous" />
<h1 class="h1">Paul Smith</h1>
<div class="h4">Senior Software Engineer</div>
<div>
<a href="https://www.linkedin.com/in/paul-smith-kc/" target="_blank" class="animated m-2">
<i class="linkedin"></i>
LinkedIn
</a>
<a href="https://github.com/paulsmithkc" target="_blank" class="animated m-2">
<i class="github"></i>
GitHub
</a>
<a href="https://www.youtube.com/user/paulsmithkc" target="_blank" class="animated m-2">
<i class="youtube"></i>
YouTube
</a>
<a href="https://paul-smith-creative.itch.io" target="_blank" class="animated m-2">
<i class="gamepad"></i>
Itch.io
</a>
</div>
</div>
</section>
<section id="skills">
<div class="container">
<h2>Skills</h2>
<div class="text-center">
<span class="badge badge-primary">TypeScript</span>
<span class="badge badge-primary">JavaScript</span>
<span class="badge badge-primary">TailwindCSS</span>
<span class="badge badge-primary">Node.js</span>
<span class="badge badge-primary">Express.js</span>
<span class="badge badge-pri
Open service 13.248.132.87:80 · www.paulsmith.dev
2026-01-13 01:04
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: public, max-age=0
Content-Length: 41804
Content-Security-Policy: default-src 'self';style-src 'self' 'unsafe-inline';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';upgrade-insecure-requests
Content-Type: text/html; charset=UTF-8
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Resource-Policy: same-origin
Date: Tue, 13 Jan 2026 01:05:04 GMT
Etag: W/"a34c-19adf6bb810"
Expect-Ct: max-age=0
Last-Modified: Tue, 02 Dec 2025 14:16:10 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Origin-Agent-Cluster: ?1
Referrer-Policy: no-referrer
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=TadQLI7w19YcLUSiw75ZvkU6LnzCP18PPqA01legBHA%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1768266304"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=TadQLI7w19YcLUSiw75ZvkU6LnzCP18PPqA01legBHA%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1768266304"
Server: Heroku
Strict-Transport-Security: max-age=15552000; includeSubDomains
Vary: Accept-Encoding
Via: 1.1 heroku-router
X-Content-Type-Options: nosniff
X-Dns-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Xss-Protection: 0
Connection: close
Page title: Paul Smith | Portfolio
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Paul Smith | Portfolio</title>
<meta name="description" content="Paul Smith's professional portfolio." />
<link rel="preload" href="dist/assets/fonts/RedRose-Bold.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/Roboto-Regular.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/fa-brands-400.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/fa-solid-900.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="images/paul-smith-square-400.jpg" as="image" type="image/jpeg" crossorigin="anonymous" />
<link rel="stylesheet" href="dist/main.bundle.css" />
<link rel="canonical" href="https://www.paulsmith.dev/" />
<link rel="icon" type="image/png" sizes="64x64" href="images/favicon-64.png" />
<link rel="icon" type="image/png" sizes="32x32" href="images/favicon-32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="images/favicon-16.png" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Paul Smith | Portfolio" />
<meta name="twitter:description" content="Hi! I'm Paul Smith. And I'm a professional software engineer." />
<meta name="twitter:creator" content="@paulsmithkc" />
<meta name="twitter:image" content="https://www.paulsmith.dev/images/paul-smith-square-1000.jpg" />
<meta name="facebook-domain-verification" content="l5lltxe7nm6plyxkc6xmhq0kbv0yfj" />
<script async src="dist/main.bundle.js" crossorigin="anonymous"></script>
</head>
<body data-target="#navbar" data-spy="scroll" data-offset="200">
<div class="d-none d-sm-block sticky-top">
<nav id="navbar" class="navbar navbar-expand navbar-light bg-primary border-0">
<a class="navbar-brand" href="#top">Paul Smith</a>
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link" href="#top">Skills</a></li>
<li class="nav-item"><a class="nav-link" href="#projects">Projects</a></li>
<li class="nav-item"><a class="nav-link" href="#courses">Courses</a></li>
<li class="nav-item"><a class="nav-link" href="#gamedev">GameDev</a></li>
<li class="nav-item"><a class="nav-link" href="#experience">Experience</a></li>
<li class="nav-item"><a class="nav-link" href="#education">Education</a></li>
</ul>
</nav>
</div>
<main>
<section id="top">
<div id="top-background"></div>
<div class="container text-center">
<img width="200" height="200" src="images/paul-smith-square-400.jpg" alt="" id="top-photo" crossorigin="anonymous" />
<h1 class="h1">Paul Smith</h1>
<div class="h4">Senior Software Engineer</div>
<div>
<a href="https://www.linkedin.com/in/paul-smith-kc/" target="_blank" class="animated m-2">
<i class="linkedin"></i>
LinkedIn
</a>
<a href="https://github.com/paulsmithkc" target="_blank" class="animated m-2">
<i class="github"></i>
GitHub
</a>
<a href="https://www.youtube.com/user/paulsmithkc" target="_blank" class="animated m-2">
<i class="youtube"></i>
YouTube
</a>
<a href="https://paul-smith-creative.itch.io" target="_blank" class="animated m-2">
<i class="gamepad"></i>
Itch.io
</a>
</div>
</div>
</section>
<section id="skills">
<div class="container">
<h2>Skills</h2>
<div class="text-center">
<span class="badge badge-primary">TypeScript</span>
<span class="badge badge-primary">JavaScript</span>
<span class="badge badge-primary">TailwindCSS</span>
<span class="badge badge-primary">Node.js</span>
<span class="badge badge-primary">Express.js</span>
<span class="badge badge-pri
Open service 75.2.97.79:443 · www.paulsmith.dev
2026-01-13 01:04
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: public, max-age=0
Content-Length: 41804
Content-Security-Policy: default-src 'self';style-src 'self' 'unsafe-inline';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';upgrade-insecure-requests
Content-Type: text/html; charset=UTF-8
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Resource-Policy: same-origin
Date: Tue, 13 Jan 2026 01:04:03 GMT
Etag: W/"a34c-19adf6bb810"
Expect-Ct: max-age=0
Last-Modified: Tue, 02 Dec 2025 14:16:10 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Origin-Agent-Cluster: ?1
Referrer-Policy: no-referrer
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=MVUy4jNA0PEBXCfuMctnAiJfXMrZVJVXBx7ZCi2rWBw%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1768266243"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=MVUy4jNA0PEBXCfuMctnAiJfXMrZVJVXBx7ZCi2rWBw%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1768266243"
Server: Heroku
Strict-Transport-Security: max-age=15552000; includeSubDomains
Vary: Accept-Encoding
Via: 1.1 heroku-router
X-Content-Type-Options: nosniff
X-Dns-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Xss-Protection: 0
Connection: close
Page title: Paul Smith | Portfolio
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Paul Smith | Portfolio</title>
<meta name="description" content="Paul Smith's professional portfolio." />
<link rel="preload" href="dist/assets/fonts/RedRose-Bold.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/Roboto-Regular.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/fa-brands-400.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/fa-solid-900.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="images/paul-smith-square-400.jpg" as="image" type="image/jpeg" crossorigin="anonymous" />
<link rel="stylesheet" href="dist/main.bundle.css" />
<link rel="canonical" href="https://www.paulsmith.dev/" />
<link rel="icon" type="image/png" sizes="64x64" href="images/favicon-64.png" />
<link rel="icon" type="image/png" sizes="32x32" href="images/favicon-32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="images/favicon-16.png" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Paul Smith | Portfolio" />
<meta name="twitter:description" content="Hi! I'm Paul Smith. And I'm a professional software engineer." />
<meta name="twitter:creator" content="@paulsmithkc" />
<meta name="twitter:image" content="https://www.paulsmith.dev/images/paul-smith-square-1000.jpg" />
<meta name="facebook-domain-verification" content="l5lltxe7nm6plyxkc6xmhq0kbv0yfj" />
<script async src="dist/main.bundle.js" crossorigin="anonymous"></script>
</head>
<body data-target="#navbar" data-spy="scroll" data-offset="200">
<div class="d-none d-sm-block sticky-top">
<nav id="navbar" class="navbar navbar-expand navbar-light bg-primary border-0">
<a class="navbar-brand" href="#top">Paul Smith</a>
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link" href="#top">Skills</a></li>
<li class="nav-item"><a class="nav-link" href="#projects">Projects</a></li>
<li class="nav-item"><a class="nav-link" href="#courses">Courses</a></li>
<li class="nav-item"><a class="nav-link" href="#gamedev">GameDev</a></li>
<li class="nav-item"><a class="nav-link" href="#experience">Experience</a></li>
<li class="nav-item"><a class="nav-link" href="#education">Education</a></li>
</ul>
</nav>
</div>
<main>
<section id="top">
<div id="top-background"></div>
<div class="container text-center">
<img width="200" height="200" src="images/paul-smith-square-400.jpg" alt="" id="top-photo" crossorigin="anonymous" />
<h1 class="h1">Paul Smith</h1>
<div class="h4">Senior Software Engineer</div>
<div>
<a href="https://www.linkedin.com/in/paul-smith-kc/" target="_blank" class="animated m-2">
<i class="linkedin"></i>
LinkedIn
</a>
<a href="https://github.com/paulsmithkc" target="_blank" class="animated m-2">
<i class="github"></i>
GitHub
</a>
<a href="https://www.youtube.com/user/paulsmithkc" target="_blank" class="animated m-2">
<i class="youtube"></i>
YouTube
</a>
<a href="https://paul-smith-creative.itch.io" target="_blank" class="animated m-2">
<i class="gamepad"></i>
Itch.io
</a>
</div>
</div>
</section>
<section id="skills">
<div class="container">
<h2>Skills</h2>
<div class="text-center">
<span class="badge badge-primary">TypeScript</span>
<span class="badge badge-primary">JavaScript</span>
<span class="badge badge-primary">TailwindCSS</span>
<span class="badge badge-primary">Node.js</span>
<span class="badge badge-primary">Express.js</span>
<span class="badge badge-pri
Open service 35.71.145.101:443 · www.paulsmith.dev
2026-01-13 01:04
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: public, max-age=0
Content-Length: 41804
Content-Security-Policy: default-src 'self';style-src 'self' 'unsafe-inline';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';upgrade-insecure-requests
Content-Type: text/html; charset=UTF-8
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Resource-Policy: same-origin
Date: Tue, 13 Jan 2026 01:04:03 GMT
Etag: W/"a34c-19adf6bb810"
Expect-Ct: max-age=0
Last-Modified: Tue, 02 Dec 2025 14:16:10 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Origin-Agent-Cluster: ?1
Referrer-Policy: no-referrer
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=MVUy4jNA0PEBXCfuMctnAiJfXMrZVJVXBx7ZCi2rWBw%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1768266243"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=MVUy4jNA0PEBXCfuMctnAiJfXMrZVJVXBx7ZCi2rWBw%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1768266243"
Server: Heroku
Strict-Transport-Security: max-age=15552000; includeSubDomains
Vary: Accept-Encoding
Via: 1.1 heroku-router
X-Content-Type-Options: nosniff
X-Dns-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Xss-Protection: 0
Connection: close
Page title: Paul Smith | Portfolio
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Paul Smith | Portfolio</title>
<meta name="description" content="Paul Smith's professional portfolio." />
<link rel="preload" href="dist/assets/fonts/RedRose-Bold.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/Roboto-Regular.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/fa-brands-400.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/fa-solid-900.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="images/paul-smith-square-400.jpg" as="image" type="image/jpeg" crossorigin="anonymous" />
<link rel="stylesheet" href="dist/main.bundle.css" />
<link rel="canonical" href="https://www.paulsmith.dev/" />
<link rel="icon" type="image/png" sizes="64x64" href="images/favicon-64.png" />
<link rel="icon" type="image/png" sizes="32x32" href="images/favicon-32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="images/favicon-16.png" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Paul Smith | Portfolio" />
<meta name="twitter:description" content="Hi! I'm Paul Smith. And I'm a professional software engineer." />
<meta name="twitter:creator" content="@paulsmithkc" />
<meta name="twitter:image" content="https://www.paulsmith.dev/images/paul-smith-square-1000.jpg" />
<meta name="facebook-domain-verification" content="l5lltxe7nm6plyxkc6xmhq0kbv0yfj" />
<script async src="dist/main.bundle.js" crossorigin="anonymous"></script>
</head>
<body data-target="#navbar" data-spy="scroll" data-offset="200">
<div class="d-none d-sm-block sticky-top">
<nav id="navbar" class="navbar navbar-expand navbar-light bg-primary border-0">
<a class="navbar-brand" href="#top">Paul Smith</a>
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link" href="#top">Skills</a></li>
<li class="nav-item"><a class="nav-link" href="#projects">Projects</a></li>
<li class="nav-item"><a class="nav-link" href="#courses">Courses</a></li>
<li class="nav-item"><a class="nav-link" href="#gamedev">GameDev</a></li>
<li class="nav-item"><a class="nav-link" href="#experience">Experience</a></li>
<li class="nav-item"><a class="nav-link" href="#education">Education</a></li>
</ul>
</nav>
</div>
<main>
<section id="top">
<div id="top-background"></div>
<div class="container text-center">
<img width="200" height="200" src="images/paul-smith-square-400.jpg" alt="" id="top-photo" crossorigin="anonymous" />
<h1 class="h1">Paul Smith</h1>
<div class="h4">Senior Software Engineer</div>
<div>
<a href="https://www.linkedin.com/in/paul-smith-kc/" target="_blank" class="animated m-2">
<i class="linkedin"></i>
LinkedIn
</a>
<a href="https://github.com/paulsmithkc" target="_blank" class="animated m-2">
<i class="github"></i>
GitHub
</a>
<a href="https://www.youtube.com/user/paulsmithkc" target="_blank" class="animated m-2">
<i class="youtube"></i>
YouTube
</a>
<a href="https://paul-smith-creative.itch.io" target="_blank" class="animated m-2">
<i class="gamepad"></i>
Itch.io
</a>
</div>
</div>
</section>
<section id="skills">
<div class="container">
<h2>Skills</h2>
<div class="text-center">
<span class="badge badge-primary">TypeScript</span>
<span class="badge badge-primary">JavaScript</span>
<span class="badge badge-primary">TailwindCSS</span>
<span class="badge badge-primary">Node.js</span>
<span class="badge badge-primary">Express.js</span>
<span class="badge badge-pri
Open service 13.248.132.87:443 · www.paulsmith.dev
2026-01-13 01:04
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: public, max-age=0
Content-Length: 41804
Content-Security-Policy: default-src 'self';style-src 'self' 'unsafe-inline';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';upgrade-insecure-requests
Content-Type: text/html; charset=UTF-8
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Resource-Policy: same-origin
Date: Tue, 13 Jan 2026 01:04:03 GMT
Etag: W/"a34c-19adf6bb810"
Expect-Ct: max-age=0
Last-Modified: Tue, 02 Dec 2025 14:16:10 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Origin-Agent-Cluster: ?1
Referrer-Policy: no-referrer
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=MVUy4jNA0PEBXCfuMctnAiJfXMrZVJVXBx7ZCi2rWBw%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1768266243"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=MVUy4jNA0PEBXCfuMctnAiJfXMrZVJVXBx7ZCi2rWBw%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1768266243"
Server: Heroku
Strict-Transport-Security: max-age=15552000; includeSubDomains
Vary: Accept-Encoding
Via: 1.1 heroku-router
X-Content-Type-Options: nosniff
X-Dns-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Xss-Protection: 0
Connection: close
Page title: Paul Smith | Portfolio
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Paul Smith | Portfolio</title>
<meta name="description" content="Paul Smith's professional portfolio." />
<link rel="preload" href="dist/assets/fonts/RedRose-Bold.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/Roboto-Regular.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/fa-brands-400.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/fa-solid-900.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="images/paul-smith-square-400.jpg" as="image" type="image/jpeg" crossorigin="anonymous" />
<link rel="stylesheet" href="dist/main.bundle.css" />
<link rel="canonical" href="https://www.paulsmith.dev/" />
<link rel="icon" type="image/png" sizes="64x64" href="images/favicon-64.png" />
<link rel="icon" type="image/png" sizes="32x32" href="images/favicon-32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="images/favicon-16.png" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Paul Smith | Portfolio" />
<meta name="twitter:description" content="Hi! I'm Paul Smith. And I'm a professional software engineer." />
<meta name="twitter:creator" content="@paulsmithkc" />
<meta name="twitter:image" content="https://www.paulsmith.dev/images/paul-smith-square-1000.jpg" />
<meta name="facebook-domain-verification" content="l5lltxe7nm6plyxkc6xmhq0kbv0yfj" />
<script async src="dist/main.bundle.js" crossorigin="anonymous"></script>
</head>
<body data-target="#navbar" data-spy="scroll" data-offset="200">
<div class="d-none d-sm-block sticky-top">
<nav id="navbar" class="navbar navbar-expand navbar-light bg-primary border-0">
<a class="navbar-brand" href="#top">Paul Smith</a>
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link" href="#top">Skills</a></li>
<li class="nav-item"><a class="nav-link" href="#projects">Projects</a></li>
<li class="nav-item"><a class="nav-link" href="#courses">Courses</a></li>
<li class="nav-item"><a class="nav-link" href="#gamedev">GameDev</a></li>
<li class="nav-item"><a class="nav-link" href="#experience">Experience</a></li>
<li class="nav-item"><a class="nav-link" href="#education">Education</a></li>
</ul>
</nav>
</div>
<main>
<section id="top">
<div id="top-background"></div>
<div class="container text-center">
<img width="200" height="200" src="images/paul-smith-square-400.jpg" alt="" id="top-photo" crossorigin="anonymous" />
<h1 class="h1">Paul Smith</h1>
<div class="h4">Senior Software Engineer</div>
<div>
<a href="https://www.linkedin.com/in/paul-smith-kc/" target="_blank" class="animated m-2">
<i class="linkedin"></i>
LinkedIn
</a>
<a href="https://github.com/paulsmithkc" target="_blank" class="animated m-2">
<i class="github"></i>
GitHub
</a>
<a href="https://www.youtube.com/user/paulsmithkc" target="_blank" class="animated m-2">
<i class="youtube"></i>
YouTube
</a>
<a href="https://paul-smith-creative.itch.io" target="_blank" class="animated m-2">
<i class="gamepad"></i>
Itch.io
</a>
</div>
</div>
</section>
<section id="skills">
<div class="container">
<h2>Skills</h2>
<div class="text-center">
<span class="badge badge-primary">TypeScript</span>
<span class="badge badge-primary">JavaScript</span>
<span class="badge badge-primary">TailwindCSS</span>
<span class="badge badge-primary">Node.js</span>
<span class="badge badge-primary">Express.js</span>
<span class="badge badge-pri
Open service 35.71.145.101:80 · www.paulsmith.dev
2026-01-13 01:04
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: public, max-age=0
Content-Length: 41804
Content-Security-Policy: default-src 'self';style-src 'self' 'unsafe-inline';base-uri 'self';block-all-mixed-content;font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';upgrade-insecure-requests
Content-Type: text/html; charset=UTF-8
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Resource-Policy: same-origin
Date: Tue, 13 Jan 2026 01:05:04 GMT
Etag: W/"a34c-19adf6bb810"
Expect-Ct: max-age=0
Last-Modified: Tue, 02 Dec 2025 14:16:10 GMT
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Origin-Agent-Cluster: ?1
Referrer-Policy: no-referrer
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=TadQLI7w19YcLUSiw75ZvkU6LnzCP18PPqA01legBHA%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1768266304"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=TadQLI7w19YcLUSiw75ZvkU6LnzCP18PPqA01legBHA%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1768266304"
Server: Heroku
Strict-Transport-Security: max-age=15552000; includeSubDomains
Vary: Accept-Encoding
Via: 1.1 heroku-router
X-Content-Type-Options: nosniff
X-Dns-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Xss-Protection: 0
Connection: close
Page title: Paul Smith | Portfolio
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Paul Smith | Portfolio</title>
<meta name="description" content="Paul Smith's professional portfolio." />
<link rel="preload" href="dist/assets/fonts/RedRose-Bold.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/Roboto-Regular.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/fa-brands-400.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="dist/assets/fonts/fa-solid-900.ttf" as="font" type="font/ttf" crossorigin="anonymous" />
<link rel="preload" href="images/paul-smith-square-400.jpg" as="image" type="image/jpeg" crossorigin="anonymous" />
<link rel="stylesheet" href="dist/main.bundle.css" />
<link rel="canonical" href="https://www.paulsmith.dev/" />
<link rel="icon" type="image/png" sizes="64x64" href="images/favicon-64.png" />
<link rel="icon" type="image/png" sizes="32x32" href="images/favicon-32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="images/favicon-16.png" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Paul Smith | Portfolio" />
<meta name="twitter:description" content="Hi! I'm Paul Smith. And I'm a professional software engineer." />
<meta name="twitter:creator" content="@paulsmithkc" />
<meta name="twitter:image" content="https://www.paulsmith.dev/images/paul-smith-square-1000.jpg" />
<meta name="facebook-domain-verification" content="l5lltxe7nm6plyxkc6xmhq0kbv0yfj" />
<script async src="dist/main.bundle.js" crossorigin="anonymous"></script>
</head>
<body data-target="#navbar" data-spy="scroll" data-offset="200">
<div class="d-none d-sm-block sticky-top">
<nav id="navbar" class="navbar navbar-expand navbar-light bg-primary border-0">
<a class="navbar-brand" href="#top">Paul Smith</a>
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link" href="#top">Skills</a></li>
<li class="nav-item"><a class="nav-link" href="#projects">Projects</a></li>
<li class="nav-item"><a class="nav-link" href="#courses">Courses</a></li>
<li class="nav-item"><a class="nav-link" href="#gamedev">GameDev</a></li>
<li class="nav-item"><a class="nav-link" href="#experience">Experience</a></li>
<li class="nav-item"><a class="nav-link" href="#education">Education</a></li>
</ul>
</nav>
</div>
<main>
<section id="top">
<div id="top-background"></div>
<div class="container text-center">
<img width="200" height="200" src="images/paul-smith-square-400.jpg" alt="" id="top-photo" crossorigin="anonymous" />
<h1 class="h1">Paul Smith</h1>
<div class="h4">Senior Software Engineer</div>
<div>
<a href="https://www.linkedin.com/in/paul-smith-kc/" target="_blank" class="animated m-2">
<i class="linkedin"></i>
LinkedIn
</a>
<a href="https://github.com/paulsmithkc" target="_blank" class="animated m-2">
<i class="github"></i>
GitHub
</a>
<a href="https://www.youtube.com/user/paulsmithkc" target="_blank" class="animated m-2">
<i class="youtube"></i>
YouTube
</a>
<a href="https://paul-smith-creative.itch.io" target="_blank" class="animated m-2">
<i class="gamepad"></i>
Itch.io
</a>
</div>
</div>
</section>
<section id="skills">
<div class="container">
<h2>Skills</h2>
<div class="text-center">
<span class="badge badge-primary">TypeScript</span>
<span class="badge badge-primary">JavaScript</span>
<span class="badge badge-primary">TailwindCSS</span>
<span class="badge badge-primary">Node.js</span>
<span class="badge badge-primary">Express.js</span>
<span class="badge badge-pri