1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>Sam Learner - Projects</title><meta name="title" content="Sam Learner - Projects"/><meta name="description" content="Sam Learner code/visualization portfolio site."/><meta property="og:title" content="Sam Learner - Projects"/><meta property="og:description" content="Sam Learner code/visualization portfolio site."/><meta property="twitter:title" content="Sam Learner - Projects"/><meta property="twitter:description" content="Sam Learner code/visualization portfolio site."/><link rel="icon" href="/img/site/callout1_cropped.svg"/><link rel="apple-touch-icon" href="/img/site/callout1_cropped.svg"/><link rel="preload" href="/img/site/callout1.svg" as="image" fetchpriority="high"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=256&q=75 256w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=3840&q=75 3840w" imageSizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" fetchpriority="high"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=256&q=75 256w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=3840&q=75 3840w" imageSizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" fetchpriority="high"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=256&q=75 256w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=3840&q=75 3840w" imageSizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" fetchpriority="high"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=256&q=75 256w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=3840&q=75 3840w" imageSizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" fetchpriority="high"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=256&q=75 256w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=3840&q=75 3840w" imageSizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" fetchpriority="high"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=256&q=75 256w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=3840&q=75 3840w" imageSizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" fetchpriority="high"/><link rel="preload" href="/img/social/bluesky.svg" as="image" fetchpriority="high"/><link rel="preload" href="/img/social/github.svg" as="image" fetchpriority="high"/><link rel="preload" href="/img/social/twitter.svg" as="image" fetchpriority="high"/><link rel="preload" href="/img/social/observable.svg" as="image" fetchpriority="high"/><link rel="preload" href="/img/social/email.svg" as="image" fetchpriority="high"/><link rel="preload" href="/img/social/linkedin.svg" as="image" fetchpriority="high"/><meta name="next-head-count" content="24"/><meta charSet="utf-8"/><meta name="theme-color" content="#f3f3f3"/><link rel="manifest" href="/manifest.json"/><meta property="og:type" content="website"/><meta property="og:url" content="https://www.samlearner.com/"/><meta property="og:image" content="https://www.samlearner.com/img/site/callout1.svg"/><meta property="twitter:card" content="summary_large_image"/><meta property="twitter:url" content="https://www.samlearner.com/"/><meta property="twitter:image" content="https://www.samlearner.com/img/site/callout1.svg"/>
1<link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/683c47f096b5e6e8.css" as="style" crossorigin=""/><link rel="stylesheet" href="/_next/static/css/683c47f096b5e6e8.css" crossorigin="" data-n-g=""/><link rel="preload" href="/_next/static/css/84d21e8160b68096.css" as="style" crossorigin=""/><link rel="stylesheet" href="/_next/static/css/84d21e8160b68096.css" crossorigin="" data-n-p=""/><noscript data-n-css=""></noscript>
1<script defer="" crossorigin="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script>
1<script data-partytown-config=""> 2 partytown = { 3 lib: "/_next/static/~partytown/" 4 }; 5 </script>
5<script data-partytown="">!(function(w,p,f,c){c=w[p]=w[p]||{};c[f]=(c[f]||[])})(window,'partytown','forward');/* Partytown 0.7.6 - MIT builder.io */ 6!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,"/"==(a=(o.lib||"/~partytown/")+(o.debug?"debug/":""))[0]&&(s=e.querySelectorAll('script[type="text/partytown"]'),i!=t?i.dispatchEvent(new CustomEvent("pt1",{detail:t})):(d=setTimeout(f,1e4),e.addEventListener("pt0",w),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||"partytown-sw.js"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener("statechange",(function(t){"activated"==t.target.state&&h()}))}),console.error):f())))}function h(t){c=e.createElement(t?"script":"iframe"),t||(c.setAttribute("style","display:block;width:0;height:0;border:0;visibility:hidden"),c.setAttribute("aria-hidden",!0)),c.src=a+"partytown-"+(t?"atomics.js?v=0.7.6":"sandbox-sw.html?"+Date.now()),e.body.appendChild(c)}function f(n,r){for(w(),i==t&&(o.forward||[]).map((function(e){delete t[e.split(".")[0]]})),n=0;n<s.length;n++)(r=e.createElement("script")).innerHTML=s[n].innerHTML,e.head.appendChild(r);c&&c.parentNode.removeChild(c)}function w(){clearTimeout(d)}o=t.partytown||{},i==t&&(o.forward||[]).map((function(e){p=t,e.split(".").map((function(e,n,i){p=p[i[n]]=n+1<i.length?"push"==i[n+1]?[]:p[i[n]]||{}:function(){(t._ptf=t._ptf||[]).push(i,arguments)}}))})),"complete"==e.readyState?u():(t.addEventListener("DOMContentLoaded",u),t.addEventListener("load",u))}(window,document,navigator,top,window.crossOriginIsolated);</script>
6<script src="/_next/static/chunks/webpack-de62b3415015cf3b.js" defer="" crossorigin=""></script>
6<script src="/_next/static/chunks/framework-5429a50ba5373c56.js" defer="" crossorigin=""></script>
6<script src="/_next/static/chunks/main-4b2ed62e43c99327.js" defer="" crossorigin=""></script>
6<script src="/_next/static/chunks/pages/_app-8f55e93465886431.js" defer="" crossorigin=""></script>
6<script src="/_next/static/chunks/675-868632463da3ddc4.js" defer="" crossorigin=""></script>
6<script src="/_next/static/chunks/82-7c255a2ddbd7db48.js" defer="" crossorigin=""></script>
6<script src="/_next/static/chunks/pages/projects-23c266efd21e5b4f.js" defer="" crossorigin=""></script>
6<script src="/_next/static/S9CFrvX12LoPCjtc6WxTJ/_buildManifest.js" defer="" crossorigin=""></script>
6<script src="/_next/static/S9CFrvX12LoPCjtc6WxTJ/_ssgManifest.js" defer="" crossorigin=""></script>
6</head><body><div id="__next"><main><div class="Navbar_navbar__ZZiCr"><a class="Navbar_navbar-link__r4j1a Navbar_active-link__lXG1E" href="/projects"><div>Projects</div></a><a class="Navbar_navbar-link__r4j1a null" href="/work"><div>Work</div></a></div><div class="background-callout" id="first-callout"><img alt="first color callout" fetchpriority="high" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="/img/site/callout1.svg"/></div><div class="Home_container__B1VFq" id="Home_project-container__JgM8R"><div class="Home_row__ZdyPC Home_header-row__p_Dh9"><h2 class="Home_project-header__MZQqe">Web Projects</h2></div><div class="Home_row__ZdyPC"><div class="Home_project__OaM5Q"><div class="Home_project__image-wrapper__vutQF"><a target="_blank" rel="noreferrer" href="https://river-runner-global.samlearner.com/"><div class="Home_project__preview-image__H7EZY Home_no-padding__XyNJa" data-info=""River Runner Global""><div class="Home_inner-wrapper__eNPoJ"><img alt="River Runner Global" data-info=""River Runner Global"" fetchpriority="high" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-position:50% 50%;color:transparent" sizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" srcSet="/_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=256&q=75 256w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=3840&q=75 3840w" src="/_next/image?url=%2Fimg%2Fprojects%2Friver_runner_global_preview.png&w=3840&q=75"/></div></div></a><div class="Home_caption__XPNra"><p><a target="_blank" rel="noreferrer" href="https://river-runner-global.samlearner.com/">River Runner Global</a></p></div></div></div><div class="Home_project__OaM5Q"><div class="Home_project__image-wrapper__vutQF"><a target="_blank" rel="noreferrer" href="https://donor-overlap.samlearner.com/"><div class="Home_project__preview-image__H7EZY" data-info=""2020 Campaign Donor Overlap""><div class="Home_inner-wrapper__eNPoJ"><img alt="2020 Campaign Donor Overlap" data-info=""2020 Campaign Donor Overlap"" fetchpriority="high" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-position:50% 50%;color:transparent" sizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" srcSet="/_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=256&q=75 256w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=3840&q=75 3840w" src="/_next/image?url=%2Fimg%2Fprojects%2Fdonor_overlap_preview.png&w=3840&q=75"/></div></div></a><div class="Home_caption__XPNra"><p><a target="_blank" rel="noreferrer" href="https://donor-overlap.samlearner.com/">2020 Campaign Donor Overlap</a></p></div></div></div><div class="Home_project__OaM5Q"><div class="Home_project__image-wrapper__vutQF"><a target="_blank" rel="noreferrer" href="https://pittsburgh-steps.samlearner.com/"><div class="Home_project__preview-image__H7EZY Home_no-padding__XyNJa" data-info=""Pittsburgh Steps""><div class="Home_inner-wrapper__eNPoJ"><img alt="Pittsburgh Steps" data-info=""Pittsburgh Steps"" fetchpriority="high" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-position:50% 50%;color:transparent" sizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" srcSet="/_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=256&q=75 256w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=3840&q=75 3840w" src="/_next/image?url=%2Fimg%2Fprojects%2Fpittsburgh_steps_preview.png&w=3840&q=75"/></div></div></a><div class="Home_caption__XPNra"><p><a target="_blank" rel="noreferrer" href="https://pittsburgh-steps.samlearner.com/">Pittsburgh Steps</a></p></div></div></div><div class="Home_project__OaM5Q"><div class="Home_project__image-wrapper__vutQF"><a target="_blank" rel="noreferrer" href="https://donor-demographics.samlearner.com/"><div class="Home_project__preview-image__H7EZY" data-info=""2020 Donor Demographics""><div class="Home_inner-wrapper__eNPoJ"><img alt="2020 Donor Demographics" data-info=""2020 Donor Demographics"" fetchpriority="high" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-position:50% 50%;color:transparent" sizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" srcSet="/_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=256&q=75 256w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=3840&q=75 3840w" src="/_next/image?url=%2Fimg%2Fprojects%2Fdonor_demographics_preview.png&w=3840&q=75"/></div></div></a><div class="Home_caption__XPNra"><p><a target="_blank" rel="noreferrer" href="https://donor-demographics.samlearner.com/">2020 Donor Demographics</a></p></div></div></div><div class="Home_project__OaM5Q"><div class="Home_project__image-wrapper__vutQF"><a target="_blank" rel="noreferrer" href="https://letterboxd.samlearner.com/"><div class="Home_project__preview-image__H7EZY Home_black-fill__7nZyM" data-info=""Letterboxd Movie Recommendations""><div class="Home_inner-wrapper__eNPoJ"><img alt="Letterboxd Movie Recommendations" data-info=""Letterboxd Movie Recommendations"" fetchpriority="high" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-position:50% 50%;color:transparent" sizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" srcSet="/_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=256&q=75 256w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=3840&q=75 3840w" src="/_next/image?url=%2Fimg%2Fprojects%2Fletterboxd_preview.png&w=3840&q=75"/></div></div></a><div class="Home_caption__XPNra"><p><a target="_blank" rel="noreferrer" href="https://letterboxd.samlearner.com/">Letterboxd Movie Recommendations</a></p></div></div></div><div class="Home_project__OaM5Q"><div class="Home_project__image-wrapper__vutQF"><a target="_blank" rel="noreferrer" href="https://nba-player-movement.samlearner.com/"><div class="Home_project__preview-image__H7EZY" data-info=""NBA Player Movement Map""><div class="Home_inner-wrapper__eNPoJ"><img alt="NBA Player Movement Map" data-info=""NBA Player Movement Map"" fetchpriority="high" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-position:50% 50%;color:transparent" sizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" srcSet="/_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=256&q=75 256w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=3840&q=75 3840w" src="/_next/image?url=%2Fimg%2Fprojects%2Fnba_player_movement_preview_basic.png&w=3840&q=75"/></div></div></a><div class="Home_caption__XPNra"><p><a target="_blank" rel="noreferrer" href="https://nba-player-movement.samlearner.com/">NBA Player Movement Map</a></p></div></div></div><div class="Home_project__OaM5Q"><div class="Home_project__image-wrapper__vutQF"><a target="_blank" rel="noreferrer" href="https://cleveland-evictions.samlearner.com/"><div class="Home_project__preview-image__H7EZY" data-info=""Cleveland Eviction Mapping""><div class="Home_inner-wrapper__eNPoJ"><img alt="Cleveland Eviction Mapping" data-info=""Cleveland Eviction Mapping"" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-position:50% 50%;color:transparent" sizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" srcSet="/_next/image?url=%2Fimg%2Fprojects%2Fcleveland_evictions_preview.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Fcleveland_evictions_preview.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Fcleveland_evictions_preview.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Fcleveland_evictions_preview.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Fcleveland_evictions_preview.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Fcleveland_evictions_preview.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Fcleveland_evictions_preview.png&w=256&q=7
65 256w, /_next/image?url=%2Fimg%2Fprojects%2Fcleveland_evictions_preview.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Fcleveland_evictions_preview.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Fcleveland_evictions_preview.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Fcleveland_evictions_preview.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Fcleveland_evictions_preview.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Fcleveland_evictions_preview.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Fcleveland_evictions_preview.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Fcleveland_evictions_preview.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Fcleveland_evictions_preview.png&w=3840&q=75 3840w" src="/_next/image?url=%2Fimg%2Fprojects%2Fcleveland_evictions_preview.png&w=3840&q=75"/></div></div></a><div class="Home_caption__XPNra"><p><a target="_blank" rel="noreferrer" href="https://cleveland-evictions.samlearner.com/">Cleveland Eviction Mapping</a></p></div></div></div><div class="Home_project__OaM5Q"><div class="Home_project__image-wrapper__vutQF"><a target="_blank" rel="noreferrer" href="https://commuter-mapping.samlearner.com/"><div class="Home_project__preview-image__H7EZY Home_no-padding__XyNJa" data-info=""Metro Area Commuter Mapping""><div class="Home_inner-wrapper__eNPoJ"><img alt="Metro Area Commuter Mapping" data-info=""Metro Area Commuter Mapping"" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-position:50% 50%;color:transparent" sizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" srcSet="/_next/image?url=%2Fimg%2Fprojects%2Fcommuter_mapping_preview.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Fcommuter_mapping_preview.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Fcommuter_mapping_preview.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Fcommuter_mapping_preview.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Fcommuter_mapping_preview.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Fcommuter_mapping_preview.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Fcommuter_mapping_preview.png&w=256&q=75 256w, /_next/image?url=%2Fimg%2Fprojects%2Fcommuter_mapping_preview.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Fcommuter_mapping_preview.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Fcommuter_mapping_preview.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Fcommuter_mapping_preview.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Fcommuter_mapping_preview.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Fcommuter_mapping_preview.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Fcommuter_mapping_preview.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Fcommuter_mapping_preview.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Fcommuter_mapping_preview.png&w=3840&q=75 3840w" src="/_next/image?url=%2Fimg%2Fprojects%2Fcommuter_mapping_preview.png&w=3840&q=75"/></div></div></a><div class="Home_caption__XPNra"><p><a target="_blank" rel="noreferrer" href="https://commuter-mapping.samlearner.com/">Metro Area Commuter Mapping</a></p></div></div></div><div class="Home_project__OaM5Q"><div class="Home_project__image-wrapper__vutQF"><a target="_blank" rel="noreferrer" href="https://observablehq.com/@sdl60660/high-school-sports-participation"><div class="Home_project__preview-image__H7EZY Home_white-fill__wfeYL" data-info=""High School Sports Participation""><div class="Home_inner-wrapper__eNPoJ"><img alt="High School Sports Participation" data-info=""High School Sports Participation"" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-position:50% 50%;color:transparent" sizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" srcSet="/_next/image?url=%2Fimg%2Fprojects%2Fhs_sports_preview.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Fhs_sports_preview.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Fhs_sports_preview.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Fhs_sports_preview.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Fhs_sports_preview.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Fhs_sports_preview.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Fhs_sports_preview.png&w=256&q=75 256w, /_next/image?url=%2Fimg%2Fprojects%2Fhs_sports_preview.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Fhs_sports_preview.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Fhs_sports_preview.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Fhs_sports_preview.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Fhs_sports_preview.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Fhs_sports_preview.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Fhs_sports_preview.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Fhs_sports_preview.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Fhs_sports_preview.png&w=3840&q=75 3840w" src="/_next/image?url=%2Fimg%2Fprojects%2Fhs_sports_preview.png&w=3840&q=75"/></div></div></a><div class="Home_caption__XPNra"><p><a target="_blank" rel="noreferrer" href="https://observablehq.com/@sdl60660/high-school-sports-participation">High School Sports Participation</a></p></div></div></div><div class="Home_project__OaM5Q"><div class="Home_project__image-wrapper__vutQF"><a target="_blank" rel="noreferrer" href="https://river-runner.samlearner.com/"><div class="Home_project__preview-image__H7EZY Home_no-padding__XyNJa" data-info=""River Runner (US)""><div class="Home_inner-wrapper__eNPoJ"><img alt="River Runner (US)" data-info=""River Runner (US)"" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-position:50% 50%;color:transparent" sizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" srcSet="/_next/image?url=%2Fimg%2Fprojects%2Friver_runner_preview.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_preview.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_preview.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_preview.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_preview.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_preview.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_preview.png&w=256&q=75 256w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_preview.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_preview.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_preview.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_preview.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_preview.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_preview.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_preview.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_preview.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Friver_runner_preview.png&w=3840&q=75 3840w" src="/_next/image?url=%2Fimg%2Fprojects%2Friver_runner_preview.png&w=3840&q=75"/></div></div></a><div class="Home_caption__XPNra"><p><a target="_blank" rel="noreferrer" href="https://river-runner.samlearner.com/">River Runner (US)</a></p></div></div></div><div class="Home_project__OaM5Q"><div class="Home_project__image-wrapper__vutQF"><a target="_blank" rel="noreferrer" href="https://observablehq.com/@sdl60660/jezzball-part
6-5-game-state-scoring?collection=@sdl60660/jezzball"><div class="Home_project__preview-image__H7EZY Home_white-fill__wfeYL" data-info=""Jezzball""><div class="Home_inner-wrapper__eNPoJ"><img alt="Jezzball" data-info=""Jezzball"" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-position:50% 50%;color:transparent" sizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" srcSet="/_next/image?url=%2Fimg%2Fprojects%2Fjezzball_preview.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Fjezzball_preview.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Fjezzball_preview.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Fjezzball_preview.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Fjezzball_preview.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Fjezzball_preview.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Fjezzball_preview.png&w=256&q=75 256w, /_next/image?url=%2Fimg%2Fprojects%2Fjezzball_preview.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Fjezzball_preview.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Fjezzball_preview.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Fjezzball_preview.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Fjezzball_preview.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Fjezzball_preview.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Fjezzball_preview.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Fjezzball_preview.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Fjezzball_preview.png&w=3840&q=75 3840w" src="/_next/image?url=%2Fimg%2Fprojects%2Fjezzball_preview.png&w=3840&q=75"/></div></div></a><div class="Home_caption__XPNra"><p><a target="_blank" rel="noreferrer" href="https://observablehq.com/@sdl60660/jezzball-part
6-5-game-state-scoring?collection=@sdl60660/jezzball">Jezzball</a></p></div></div></div><div class="Home_project__OaM5Q"><div class="Home_project__image-wrapper__vutQF"><a target="_blank" rel="noreferrer" href="https://observablehq.com/@sdl60660?type=collections"><div class="Home_project__preview-image__H7EZY Home_no-padding__XyNJa" data-info=""Observable Notebooks""><div class="Home_inner-wrapper__eNPoJ"><img alt="Observable Notebooks" data-info=""Observable Notebooks"" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-position:50% 50%;color:transparent" sizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" srcSet="/_next/image?url=%2Fimg%2Fprojects%2Fobservable_preview.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Fobservable_preview.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Fobservable_preview.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Fobservable_preview.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Fobservable_preview.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Fobservable_preview.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Fobservable_preview.png&w=256&q=75 256w, /_next/image?url=%2Fimg%2Fprojects%2Fobservable_preview.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Fobservable_preview.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Fobservable_preview.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Fobservable_preview.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Fobservable_preview.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Fobservable_preview.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Fobservable_preview.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Fobservable_preview.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Fobservable_preview.png&w=3840&q=75 3840w" src="/_next/image?url=%2Fimg%2Fprojects%2Fobservable_preview.png&w=3840&q=75"/></div></div></a><div class="Home_caption__XPNra"><p><a target="_blank" rel="noreferrer" href="https://observablehq.com/@sdl60660?type=collections">Observable Notebooks</a></p></div></div></div></div><br/><div class="Home_row__ZdyPC Home_header-row__p_Dh9"><h2 class="Home_project-header__MZQqe">Other Projects</h2></div><div class="Home_row__ZdyPC"><div class="Home_project__OaM5Q"><div class="Home_project__image-wrapper__vutQF"><a target="" rel="noreferrer" href="/projects/drumset"><div class="Home_project__preview-image__H7EZY Home_dark-fill__WhYzJ" data-info=""Light-Up Drumset""><div class="Home_inner-wrapper__eNPoJ"><img alt="Light-Up Drumset" data-info=""Light-Up Drumset"" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;object-position:50% 50%;color:transparent" sizes="(max-width: 768px) 350px, (max-width: 1050px) 450px, 600px" srcSet="/_next/image?url=%2Fimg%2Fprojects%2Fdrumset-preview.png&w=16&q=75 16w, /_next/image?url=%2Fimg%2Fprojects%2Fdrumset-preview.png&w=32&q=75 32w, /_next/image?url=%2Fimg%2Fprojects%2Fdrumset-preview.png&w=48&q=75 48w, /_next/image?url=%2Fimg%2Fprojects%2Fdrumset-preview.png&w=64&q=75 64w, /_next/image?url=%2Fimg%2Fprojects%2Fdrumset-preview.png&w=96&q=75 96w, /_next/image?url=%2Fimg%2Fprojects%2Fdrumset-preview.png&w=128&q=75 128w, /_next/image?url=%2Fimg%2Fprojects%2Fdrumset-preview.png&w=256&q=75 256w, /_next/image?url=%2Fimg%2Fprojects%2Fdrumset-preview.png&w=384&q=75 384w, /_next/image?url=%2Fimg%2Fprojects%2Fdrumset-preview.png&w=640&q=75 640w, /_next/image?url=%2Fimg%2Fprojects%2Fdrumset-preview.png&w=750&q=75 750w, /_next/image?url=%2Fimg%2Fprojects%2Fdrumset-preview.png&w=828&q=75 828w, /_next/image?url=%2Fimg%2Fprojects%2Fdrumset-preview.png&w=1080&q=75 1080w, /_next/image?url=%2Fimg%2Fprojects%2Fdrumset-preview.png&w=1200&q=75 1200w, /_next/image?url=%2Fimg%2Fprojects%2Fdrumset-preview.png&w=1920&q=75 1920w, /_next/image?url=%2Fimg%2Fprojects%2Fdrumset-preview.png&w=2048&q=75 2048w, /_next/image?url=%2Fimg%2Fprojects%2Fdrumset-preview.png&w=3840&q=75 3840w" src="/_next/image?url=%2Fimg%2Fprojects%2Fdrumset-preview.png&w=3840&q=75"/></div></div></a><div class="Home_caption__XPNra"><p><a target="" rel="noreferrer" href="/projects/drumset">Light-Up Drumset</a></p></div></div></div></div></div><div id="Home_contact-info-wrapper__bl3WO"><div id="Home_contact-info__YXwj3"><a title="Bluesky" target="_blank" href="https://bsky.app/profile/samlearner.bsky.social" rel="noreferrer"><img alt="Bluesky" fetchpriority="high" width="32" height="32" decoding="async" data-nimg="1" class="Home_icon-img__rYf3W" style="color:transparent" src="/img/social/bluesky.svg"/></a><a title="Github" target="_blank" href="https://github.com/sdl60660" rel="noreferrer"><img alt="Github" fetchpriority="high" width="32" height="32" decoding="async" data-nimg="1" class="Home_icon-img__rYf3W" style="color:transparent" src="/img/social/github.svg"/></a><a title="Twitter" target="_blank" href="https://twitter.com/sam_learner" rel="noreferrer"><img alt="Twitter" fetchpriority="high" width="32" height="32" decoding="async" data-nimg="1" class="Home_icon-img__rYf3W" style="color:transparent" src="/img/social/twitter.svg"/></a><a title="Observable" target="_blank" href="https://observablehq.com/@sdl60660" rel="noreferrer"><img alt="Observable" fetchpriority="high" width="32" height="32" decoding="async" data-nimg="1" class="Home_icon-img__rYf3W" style="color:transparent" src="/img/social/observable.svg"/></a><a title="Email" target="_blank" href="mailto:[email protected]" rel="noreferrer"><img alt="Email" fetchpriority="high" width="32" height="32" decoding="async" data-nimg="1" class="Home_icon-img__rYf3W" style="color:transparent" src="/img/social/email.svg"/></a><a title="LinkedIn" target="_blank" href="https://www.linkedin.com/in/sam-learner/" rel="noreferrer"><img alt="LinkedIn" fetchpriority="high" width="32" height="32" decoding="async" data-nimg="1" class="Home_icon-img__rYf3W" style="color:transparent" src="/img/social/linkedin.svg"/></a></div></div></main></div>
6<script id="__NEXT_DATA__" type="application/json" crossorigin="">{"props":{"pageProps":{}},"page":"/projects","query":{},"buildId":"S9CFrvX12LoPCjtc6WxTJ","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[{"src":"https://www.googletagmanager.com/gtag/js?id=G-1CK69LSY3T","strategy":"afterInteractive"},{"id":"google-analytics","strategy":"afterInteractive","children":"\n window.dataLayer = window.dataLayer || [];\n function gtag(){window.dataLayer.push(arguments);}\n gtag('js', new Date());\n\n gtag('config', 'G-1CK69LSY3T');\n "}]}</script>
6</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.