1<!DOCTYPE html><html data-dpl-id="dpl_HtTM39vBn35RHmLy1JVcKH1Szequ" lang="en" class="jost_650c15cd-module__tJKIKq__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/jost_latin_wght_italic-s.p.19g9zo69h81f_.woff2?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/jost_latin_wght_normal-s.p.2_4ymh7gr-8lu.woff2?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/chunks/2vwfu1cir-uwh.css?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/38v_w9hl4kap1.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ"/>
1<script src="/_next/static/chunks/3to1seye5t9uy.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ" async=""></script>
1<script src="/_next/static/chunks/0l__8brabbdp6.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ" async=""></script>
1<script src="/_next/static/chunks/1-y7st0wny1oh.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ" async=""></script>
1<script src="/_next/static/chunks/turbopack-3np4bs_l0-kkb.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ" async=""></script>
1<script src="/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ" async=""></script>
1<script src="/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ" async=""></script>
1<script src="/_next/static/chunks/1nmps7mda22jm.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ" async=""></script>
1<script src="/_next/static/chunks/3e7w59xbfek6a.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ" async=""></script>
1<script src="/_next/static/chunks/029lcckx25dfz.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ" async=""></script>
1<meta name="theme-color" content="#ffffff"/><meta name="next-size-adjust" content=""/><title>Devlin Peck's Portfolio: devlin.ai, Peck Academy, and DevlinOS</title><meta name="description" content="Devlin Peck's portfolio: devlin.ai, Peck Academy, and DevlinOS. The AI simulation builder, career school, and internal AI systems my team and I are building, and the thinking behind them."/><link rel="canonical" href="https://www.devlinpeck.com/portfolio"/><meta property="og:title" content="Devlin Peck's Portfolio: devlin.ai, Peck Academy, and DevlinOS"/><meta property="og:description" content="Devlin Peck's portfolio: devlin.ai, Peck Academy, and DevlinOS. The AI simulation builder, career school, and internal AI systems my team and I are building, and the thinking behind them."/><meta property="og:url" content="https://www.devlinpeck.com/portfolio"/><meta property="og:site_name" content="Devlin Peck"/><meta property="og:image" content="https://www.devlinpeck.com/og/portrait/portfolio"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Devlin Peck's Portfolio: devlin.ai, Peck Academy, and DevlinOS"/><meta name="twitter:description" content="Devlin Peck's portfolio: devlin.ai, Peck Academy, and DevlinOS. The AI simulation builder, career school, and internal AI systems my team and I are building, and the thinking behind them."/><meta name="twitter:image" content="https://www.devlinpeck.com/og/portrait/portfolio"/><link rel="icon" href="/favicon.ico?favicon.24dfi_eeislfn.ico?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ" sizes="48x48" type="image/x-icon"/><link rel="icon" href="/icon.svg?icon.2_pv0_8v9f6oa.svg?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ" sizes="any" type="image/svg+xml"/>
1<script>(function(){try{var m=document.cookie.match(/(?:^|; )theme=(dark|light|auto)/);var p=m?m[1]:"light";var d=p==="dark"||(p==="auto"&&window.matchMedia("(prefers-color-scheme: dark)").matches);var e=document.documentElement;e.dataset.theme=d?"dark":"light";e.dataset.themePref=p;var t=document.querySelector('meta[name="theme-color"]');if(t)t.setAttribute("content",d?"#101216":"#ffffff");}catch(err){}})()</script>
1<script src="/_next/static/chunks/0cz1d0mv5g_q7.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ" noModule=""></script>
1</head><body class="bg-paper font-sans text-ink antialiased"><div hidden=""><!--$--><!--/$--></div><header class="border-b border-rule bg-paper"><div class="mx-auto flex max-w-5xl items-center gap-[26px] px-6 py-3"><a class="flex items-center gap-[11px]" aria-label="Devlin Peck â home" href="/"><span class="dark:hidden"><svg width="40" height="40" viewBox="0 0 120 120" aria-hidden="true"><defs><linearGradient id="_S_1_" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#38B0FF"></stop><stop offset="1" stop-color="#A98CFF"></stop></linearGradient></defs><circle cx="60" cy="60" r="58" fill="#16181D"></circle><circle cx="44" cy="70.5" r="13" fill="none" stroke="#fff" stroke-width="9"></circle><circle cx="76" cy="49.5" r="13" fill="none" stroke="#fff" stroke-width="9"></circle><rect x="55.5" y="28" width="9" height="64" rx="4.5" fill="url(#_S_1_)"></rect></svg></span><span class="hidden dark:inline"><svg width="40" height="40" viewBox="0 0 120 120" aria-hidden="true"><defs><linearGradient id="_S_2_" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#007FEE"></stop><stop offset="1" stop-color="#7C5CFC"></stop></linearGradient></defs><circle cx="60" cy="60" r="58" fill="#fff"></circle><circle cx="44" cy="70.5" r="13" fill="none" stroke="#16181D" stroke-width="9"></circle><circle cx="76" cy="49.5" r="13" fill="none" stroke="#16181D" stroke-width="9"></circle><rect x="55.5" y="28" width="9" height="64" rx="4.5" fill="url(#_S_2_)"></rect></svg></span><span class="translate-y-[0.06em] text-[1.3125rem] font-bold leading-none tracking-[-0.012em] text-ink">Devlin Peck</span></a><nav aria-label="Primary" class="ml-auto flex items-center gap-[22px]"><a class="hidden text-[0.9375rem] font-medium text-ink-muted transition-colors duration-200 hover:text-ink sm:inline" href="/content">Content</a><a class="hidden text-[0.9375rem] font-medium text-ink-muted transition-colors duration-200 hover:text-ink sm:inline" href="/portfolio">Portfolio</a><a class="hidden text-[0.9375rem] font-medium text-ink-muted transition-colors duration-200 hover:text-ink sm:inline" href="/author/devlin-peck">About</a><a class="inline-block cursor-pointer rounded-[10px] font-semibold tracking-[0.01em] transition duration-200 ease-out disabled:pointer-events-none disabled:opacity-45 py-2 text-[0.9375rem] px-[18px] gradient-cta text-white shadow-[0_2px_14px_rgba(1,97,201,0.28)] hover:-translate-y-px hover:shadow-[0_4px_20px_rgba(1,97,201,0.36)]" href="/contact">Let's Talk</a></nav></div></header><main class="mx-auto max-w-5xl px-6 py-12"><header class="mb-14 motion-safe:animate-[fadeup_400ms_ease-out]"><h1 class="hero-h1 mt-2 text-ink" data-dp-src="content/pages/portfolio.mdx#hero.heading">Portfolio</h1><div class="throughline mt-7" aria-hidden="true"></div><p class="mt-6 text-[1.125rem] text-ink-muted" data-dp-src="content/pages/portfolio.mdx#hero.sub">My work today covers three primary projects: devlin.ai, an AI simulation builder used by enterprise learning teams; Peck Academy, a state-licensed career school for instructional designers; and DevlinOS, the AI operating system my team and I built to run the businesses. Each write-up below covers what problem the project solves, how it is built, and what it taught me.</p></header><div data-dp-src="content/pages/portfolio.mdx#body" class="prose max-w-none"><div class="not-prose grid gap-6 sm:grid-cols-2 lg:grid-cols-3"><article class="cover-motion-hover flex flex-col overflow-hidden rounded-xl border border-rule bg-paper transition duration-200 ease-out hover:-translate-y-0.5 hover:border-rule-strong hover:shadow-[0_10px_28px_rgba(22,24,29,0.07)]"><a tabindex="-1" aria-hidden="true" class="block aspect-video w-full overflow-hidden" href="/projects/devlin-ai"><div class="cover-art block h-full w-full"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" preserveAspectRatio="xMidYMid slice" role="img" aria-hidden="true" data-cover-style="facet" data-cover-variant="card"><defs><linearGradient id="cv-fc-159m0jj" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#29ABFF"/><stop offset="1" stop-color="#9A76FF"/></linearGradient></defs><rect width="320" height="180" fill="#16181D"/><polygon points="61.9,0 0,35.1 0,0" fill="#131730" stroke="#131730" stroke-width="1"/><polygon points="61.9,0 55.3,41 0,35.1" fill="#007FEE" stroke="#007FEE" stroke-width="1" class="cover-shimmer" style="animation-delay:8.5s"/><polygon points="96,0 55.3,41 61.9,0" fill="#1C1B41" stroke="#1C1B41" stroke-width="1"/><polygon points="96,0 118.5,39 55.3,41" fill="#0E2A5C" stroke="#0E2A5C" stroke-width="1"/><polygon points="152.2,0 118.5,39 96,0" fill="#0B2450" stroke="#0B2450" stroke-width="1"/><polygon points="152.2,0 149.5,36.5 118.5,39" fill="#33246E" stroke="#33246E" stroke-width="1"/><polygon points="203.1,0 149.5,36.5 152.2,0" fill="#0B2450" stroke="#0B2450" stroke-width="1"/><polygon points="203.1,0 204.1,56 149.5,36.5" fill="#101A33" stroke="#101A33" stroke-width="1"/><polygon points="255.6,0 204.1,56 203.1,0" fill="#1C1B41" stroke="#1C1B41" stroke-width="1"/><polygon points="255.6,0 262.7,38.6 204.1,56" fill="#33246E" stroke="#33246E" stroke-width="1"/><polygon points="320,0 262.7,38.6 255.6,0" fill="#101A33" stroke="#101A33" stroke-width="1"/><polygon points="320,0 320,43.9 262.7,38.6" fill="#33246E" stroke="#33246E" stroke-width="1"/><polygon points="0,35.1 55.3,41 60.1,96.6" fill="#0E2A5C" stroke="#0E2A5C" stroke-width="1"/><polygon points="0,35.1 60.1,96.6 0,81.6" fill="#0B2450" stroke="#0B2450" stroke-width="1"/><polygon points="55.3,41 118.5,39 109,96.4" fill="#0E2A5C" stroke="#0E2A5C" stroke-width="1"/><polygon points="55.3,41 109,96.4 60.1,96.6" fill="#101A33" stroke="#101A33" stroke-width="1"/><polygon points="118.5,39 149.5,36.5 152.1,98.9" fill="#0E2A5C" stroke="#0E2A5C" stroke-width="1"/><polygon points="118.5,39 152.1,98.9 109,96.4" fill="#101A33" stroke="#101A33" stroke-width="1"/><polygon points="149.5,36.5 204.1,56 210.3,99.3" fill="#33246E" stroke="#33246E" stroke-width="1"/><polygon points="149.5,36.5 210.3,99.3 152.1,98.9" fill="#0B2450" stroke="#0B2450" stroke-width="1"/><polygon points="204.1,56 262.7,38.6 267.5,84.3" fill="#1C1B41" stroke="#1C1B41" stroke-width="1"/><polygon points="204.1,56 267.5,84.3 210.3,99.3" fill="#0B2450" stroke="#0B2450" stroke-width="1"/><polygon points="320,43.9 267.5,84.3 262.7,38.6" fill="#0E2A5C" stroke="#0E2A5C" stroke-width="1"/><polygon points="320,43.9 320,89.2 267.5,84.3" fill="#0E2A5C" stroke="#0E2A5C" stroke-width="1"/><polygon points="0,81.6 60.1,96.6 50.1,125.6" fill="#101A33" stroke="#101A33" stroke-width="1"/><polygon points="0,81.6 50.1,125.6 0,134.6" fill="#131730" stroke="#131730" stroke-width="1"/><polygon points="109,96.4 50.1,125.6 60.1,96.6" fill="#101A33" stroke="#101A33" stroke-width="1"/><polygon points="109,96.4 119.5,129.4 50.1,125.6" fill="#0B2450" stroke="#0B2450" stroke-width="1"/><polygon points="152.1,98.9 119.5,129.4 109,96.4" fill="#0B2450" stroke="#0B2450" stroke-width="1"/><polygon points="152.1,98.9 152,135.9 119.5,129.4" fill="#0B2450" stroke="#0B2450" stroke-width="1"/><polygon points="152.1,98.9 210.3,99.3 211.6,135.6" fill="#131730" stroke="#131730" stroke-width="1"/><polygon points="152.1,98.9 211.6,135.6 152,135.9" fill="#1C1B41" stroke="#1C1B41" stroke-width="1"/><polygon points="210.3,99.3 267.5,84.3 259.7,142.8" fill="#131730" stroke="#131730" stroke-width="1"/><polygon points="210.3,99.3 259.7,142.8 211.6,135.6" fill="#131730" stroke="#131730" stroke-width="1"/><polygon points="320,89.2 259.7,142.8 267.5,84.3" fill="#0E2A5C" stroke="#0E2A5C" stroke-width="1"/><polygon points="320,89.2 320,128.2 259.7,142.8" fill="#0B2450" stroke="#0B2450" stroke-width="1"/><polygon points="50.1,125.6 0,180 0,134.6" fill="#0E2A5C" stroke="#0E2A5C" stroke-width="1"/><polygon points="50.1,125.6 52.1,180 0,180" fill="#101A33" stroke="#101A33" stroke-width="1"/><polygon points="50.1,125.6 119.5,129.4 116.5,180" fill="#33246E" stroke="#33246E" stroke-width="1"/><polygon points="50.1,125.6 116.5,180 52.1,180" fill="#1C1B41" stroke="#1C1B41" stroke-width="1"/><polygon points="152,135.9 116.5,180 119.5,129.4" fill="#101A33" stroke="#101A33" stroke-width="1"/><polygon points="152,135.9 154.2,180 116.5,180" fill="#101A33" stroke="#101A33" stroke-width="1"/><polygon points="152,135.9 211.6,135.6 207.8,180" fill="#1C1B41" stroke="#1C1B41" stroke-width="1"/><polygon points="152,135.9 207.8,180 154.2,180" fill="#101A33" stroke="#101A33" stroke-width="1"/><polygon points="211.6,135.6 259.7,142.8 275.3,180" fill="#0B2450" stroke="#0B2450" stroke-width="1"/><polygon points="211.6,135.6 275.3,180 207.8,180" fill="#101A33" stroke="#101A33" stroke-width="1"/><polygon points="259.7,142.8 320,128.2 320,180" fill="#33246E" stroke="#33246E" stroke-width="1"/><polygon points="259.7,142.8 320,180 275.3,180" fill="#33246E" stroke="#33246E" stroke-width="1"/>
1<circle cx="142.8" cy="128.3" r="49.7" fill="none" stroke="#FFFFFF" stroke-width="13" opacity="0.97"/><rect x="227" y="22" width="12" height="136" rx="6" fill="url(#cv-fc-159m0jj)"/><g class="cover-drift"><circle cx="136.6" cy="83.2" r="8" fill="#29ABFF"/></g></svg></div></a><div class="flex flex-col p-5"><h3 class="text-[1.125rem] font-semibold leading-[1.3] tracking-[-0.005em]"><a class="text-ink hover:text-blue-ink" href="/projects/devlin-ai">devlin.ai</a></h3><p class="mt-1.5 text-[0.9375rem] leading-[1.5] text-ink-muted">The practice platform for instructional design: AI simulations, coaches, and hosting that integrate with the courses you already build.</p></div></article><article class="cover-motion-hover flex flex-col overflow-hidden rounded-xl border border-rule bg-paper transition duration-200 ease-out hover:-translate-y-0.5 hover:border-rule-strong hover:shadow-[0_10px_28px_rgba(22,24,29,0.07)]"><a tabindex="-1" aria-hidden="true" class="block aspect-video w-full overflow-hidden" href="/projects/peck-academy"><div class="cover-art block h-full w-full"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" preserveAspectRatio="xMidYMid slice" role="img" aria-hidden="true" data-cover-style="contour" data-cover-variant="card"><defs><linearGradient id="cv-ct-41y68y" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#29ABFF"/><stop offset="1" stop-color="#9A76FF"/></linearGradient></defs><rect width="320" height="180" fill="#16181D"/><g fill="#FFFFFF" opacity="0.05"><circle cx="16" cy="14" r="1.1"/><circle cx="16" cy="38" r="1.1"/><circle cx="16" cy="62" r="1.1"/><circle cx="16" cy="86" r="1.1"/><circle cx="16" cy="110" r="1.1"/><circle cx="16" cy="134" r="1.1"/><circle cx="16" cy="158" r="1.1"/><circle cx="40" cy="14" r="1.1"/><circle cx="40" cy="38" r="1.1"/><circle cx="40" cy="62" r="1.1"/><circle cx="40" cy="86" r="1.1"/><circle cx="40" cy="110" r="1.1"/><circle cx="40" cy="134" r="1.1"/><circle cx="40" cy="158" r="1.1"/><circle cx="64" cy="14" r="1.1"/><circle cx="64" cy="38" r="1.1"/><circle cx="64" cy="62" r="1.1"/><circle cx="64" cy="86" r="1.1"/><circle cx="64" cy="110" r="1.1"/><circle cx="64" cy="134" r="1.1"/><circle cx="64" cy="158" r="1.1"/><circle cx="88" cy="14" r="1.1"/><circle cx="88" cy="38" r="1.1"/><circle cx="88" cy="62" r="1.1"/><circle cx="88" cy="86" r="1.1"/><circle cx="88" cy="110" r="1.1"/><circle cx="88" cy="134" r="1.1"/><circle cx="88" cy="158" r="1.1"/><circle cx="112" cy="14" r="1.1"/><circle cx="112" cy="38" r="1.1"/><circle cx="112" cy="62" r="1.1"/><circle cx="112" cy="86" r="1.1"/><circle cx="112" cy="110" r="1.1"/><circle cx="112" cy="134" r="1.1"/><circle cx="112" cy="158" r="1.1"/><circle cx="136" cy="14" r="1.1"/><circle cx="136" cy="38" r="1.1"/><circle cx="136" cy="62" r="1.1"/><circle cx="136" cy="86" r="1.1"/><circle cx="136" cy="110" r="1.1"/><circle cx="136" cy="134" r="1.1"/><circle cx="136" cy="158" r="1.1"/><circle cx="160" cy="14" r="1.1"/><circle cx="160" cy="38" r="1.1"/><circle cx="160" cy="62" r="1.1"/><circle cx="160" cy="86" r="1.1"/><circle cx="160" cy="110" r="1.1"/><circle cx="160" cy="134" r="1.1"/><circle cx="160" cy="158" r="1.1"/><circle cx="184" cy="14" r="1.1"/><circle cx="184" cy="38" r="1.1"/><circle cx="184" cy="62" r="1.1"/><circle cx="184" cy="86" r="1.1"/><circle cx="184" cy="110" r="1.1"/><circle cx="184" cy="134" r="1.1"/><circle cx="184" cy="158" r="1.1"/><circle cx="208" cy="14" r="1.1"/><circle cx="208" cy="38" r="1.1"/><circle cx="208" cy="62" r="1.1"/><circle cx="208" cy="86" r="1.1"/><circle cx="208" cy="110" r="1.1"/><circle cx="208" cy="134" r="1.1"/><circle cx="208" cy="158" r="1.1"/><circle cx="232" cy="14" r="1.1"/><circle cx="232" cy="38" r="1.1"/><circle cx="232" cy="62" r="1.1"/><circle cx="232" cy="86" r="1.1"/><circle cx="232" cy="110" r="1.1"/><circle cx="232" cy="134" r="1.1"/><circle cx="232" cy="158" r="1.1"/><circle cx="256" cy="14" r="1.1"/><circle cx="256" cy="38" r="1.1"/><circle cx="256" cy="62" r="1.1"/><circle cx="256" cy="86" r="1.1"/><circle cx="256" cy="110" r="1.1"/><circle cx="256" cy="134" r="1.1"/><circle cx="256" cy="158" r="1.1"/><circle cx="280" cy="14" r="1.1"/><circle cx="280" cy="38" r="1.1"/><circle cx="280" cy="62" r="1.1"/><circle cx="280" cy="86" r="1.1"/><circle cx="280" cy="110" r="1.1"/><circle cx="280" cy="134" r="1.1"/><circle cx="280" cy="158" r="1.1"/><circle cx="304" cy="14" r="1.1"/><circle cx="304" cy="38" r="1.1"/><circle cx="304" cy="62" r="1.1"/><circle cx="304" cy="86" r="1.1"/><circle cx="304" cy="110" r="1.1"/><circle cx="304" cy="134" r="1.1"/><circle cx="304" cy="158" r="1.1"/></g><g class="cover-spin" style="transform-origin:210.5px 83.5px"><polygon points="228.8,83.5 227,86.1 226.3,88.6 226.2,91.4 225.5,94.4 224,96.9 221.6,98.7 219,100.2 216.5,101.8 213.8,104.1 210.5,106.6 206.6,108.1 202.8,107.4 199.9,104.4 198.7,99.8 198.8,95.2 199.1,91.8 198.1,89.8 195.5,88.4 191.9,86.4 188.8,83.5 187.5,79.8 188.3,76.2 190.5,73.3 193.2,70.8 195.7,68.6 198.1,66.4 200.9,64.5 204.2,63.8 207.6,64.6 210.5,66.6 212.9,68.6 215.1,69.4 218.1,68.7 222.2,67.4 227.1,66.9 23
11.4,68.3 233.8,71.6 233.5,76 231.4,80.2" fill="url(#cv-ct-41y68y)" class="cover-glow"/><polygon points="245.3,83.5 241.9,88.4 240.6,93.2 240.2,98.6 239,104.2 236,109 231.6,112.4 226.7,115.2 221.9,118.4 216.8,122.8 210.5,127.5 203.1,130.3 195.8,129 190.3,123.2 188,114.4 188.3,105.7 188.8,99.3 187,95.5 182,92.8 175.2,89.1 169.3,83.5 166.8,76.5 168.3,69.7 172.5,64.1 177.5,59.5 182.3,55.2 186.9,51 192.2,47.4 198.4,46.1 204.9,47.7 210.5,51.5 215,55.2 219.2,56.7 224.8,55.4 232.7,52.9 242,52 250.2,54.6 254.7,61 254.3,69.3 250.2,77.2" fill="none" stroke="#FFFFFF" stroke-width="1.6" opacity="0.55" stroke-linejoin="round"/><polygon points="263.6,83.5 258.4,91 256.4,98.4 255.8,106.5 254,115 249.5,122.4 242.7,127.7 235.2,131.8 227.9,136.7 220,143.4 210.5,150.6 199.2,154.9 188,153 179.7,144 176.2,130.7 176.6,117.4 177.3,107.6 174.5,101.8 166.9,97.6 156.5,92 147.6,83.5 143.8,72.9 146,62.5 152.5,53.9 160.2,46.9 167.4,40.4 174.5,33.8 182.5,28.5 192,26.4 201.9,28.9 210.5,34.6 217.4,40.3 223.8,42.6 232.3,40.7 244.4,36.9 258.6,35.4 271.1,39.4 277.9,49.1 277.3,61.8 271.1,73.9" fill="none" stroke="#29ABFF" stroke-width="2.4" opacity="0.85" stroke-linejoin="round"/><polygon points="283.7,83.5 276.5,93.9 273.7,104 273,115.3 270.5,127 264.2,137.1 254.9,144.5 244.5,150.2 234.4,157 223.6,166.2 210.5,176.1 194.9,182 179.4,179.3 168,167 163.2,148.7 163.7,130.3 164.7,116.8 160.9,108.8 150.4,103 136.1,95.3 123.7,83.5 118.5,68.9 121.6,54.6 130.4,42.6 141.1,33 151.1,24 160.8,15 171.9,7.6 185,4.8 198.6,8.2 210.5,16.1 220,23.9 228.8,27.1 240.6,24.5 257.2,19.2 276.8,17.2 294.1,22.7 303.5,36.1 302.6,53.6 294.1,70.2" fill="none" stroke="#FFFFFF" stroke-width="1.6" opacity="0.3" stroke-linejoin="round"/><polygon points="305.7,83.5 296.3,97 292.7,110.2 291.7,124.8 288.5,140.1 280.3,153.2 268.2,162.8 254.7,170.2 241.6,179 227.6,191 210.5,203.9 190.3,211.5 170.1,208.1 155.2,192.1 149,168.2 149.6,144.4 150.9,126.8 146,116.4 132.4,108.9 113.7,98.8 97.7,83.5 90.8,64.5 94.9,45.9 106.4,30.4 120.2,17.8 133.2,6.2 145.9,-5.5 160.3,-15.1 177.3,-18.8 195,-14.4 210.5,-4.1 222.8,6.1 234.3,10.2 249.6,6.8 271.2,-0.1 296.7,-2.7 319.2,4.5 331.3,21.9 330.2,44.6 319.1,66.3" fill="none" stroke="#FFFFFF" stroke-width="1.6" opacity="0.18" stroke-linejoin="round"/><polygon points="329.5,83.5 317.7,100.4 313.2,116.8 312,135.2 308,154.2 297.8,170.7 282.6,182.6 265.8,191.9 249.3,202.9 231.8,217.9 210.5,234 185.2,243.5 159.9,239.2 141.4,219.2 133.6,189.4 134.4,159.6 136,137.6 129.9,124.6 112.8,115.2 89.5,102.6 69.5,83.5 60.9,59.8 66,36.5 80.3,17.1 97.6,1.4 113.9,-13.2 129.7,-27.8 147.8,-39.8 169,-44.4 191.2,-38.9 210.5,-26 225.9,-13.3 240.3,-8.1 259.4,-12.4 286.4,-20.9 318.3,-24.3 346.4,-15.2 361.5,6.5 360.1,34.9 346.3,62" fill="none" stroke="#9A76FF" stroke-width="2" opacity="0.45" stroke-linejoin="round"/></g><g class="cover-orbit" style="transform-origin:210.5px 83.5px"><circle cx="213.3" cy="31.5" r="7" fill="#FFFFFF"/></g><rect x="57.4" y="22" width="12" height="136" rx="6" fill="url(#cv-ct-41y68y)"/></svg></div></a><div class="flex flex-col p-5"><h3 class="text-[1.125rem] font-semibold leading-[1.3] tracking-[-0.005em]"><a class="text-ink hover:text-blue-ink" href="/projects/peck-academy">Peck Academy</a></h3><p class="mt-1.5 text-[0.9375rem] leading-[1.5] text-ink-muted">A state-licensed career school built like an apprenticeship: simulated client work, AI practice conversations, and a portfolio that gets you hired.</p></div></article><article class="cover-motion-hover flex flex-col overflow-hidden rounded-xl border border-rule bg-paper transition duration-200 ease-out hover:-translate-y-0.5 hover:border-rule-strong hover:shadow-[0_10px_28px_rgba(22,24,29,0.07)]"><a tabindex="-1" aria-hidden="true" class="block aspect-video w-full overflow-hidden" href="/projects/devlinos"><div class="cover-art block h-full w-full"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" preserveAspectRatio="xMidYMid slice" role="img" aria-hidden="true" data-cover-style="circuit" data-cover-variant="card"><defs><linearGradient id="cv-cc-co8tb8" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#29ABFF"/><stop offset="1" stop-color="#9A76FF"/></linearGradient></defs><rect width="320" height="180" fill="#16181D"/><g fill="#FFFFFF" opacity="0.06"><circle cx="16" cy="14" r="1.1"/><circle cx="16" cy="38" r="1.1"/><circle cx="16" cy="62" r="1.1"/><circle cx="16" cy="86" r="1.1"/><circle cx="16" cy="110" r="1.1"/><circle cx="16" cy="134" r="1.1"/><circle cx="16" cy="158" r="1.1"/><circle cx="40" cy="14" r="1.1"/><circle cx="40" cy="38" r="1.1"/><circle cx="40" cy="62" r="1.1"/><circle cx="40" cy="86" r="1.1"/><circle cx="40" cy="110" r="1.1"/><circle cx="40" cy="134" r="1.1"/><circle cx="40" cy="158" r="1.1"/><circle cx="64" cy="14" r="1.1"/><circle cx="64" cy="38" r="1.1"/><circle cx="64" cy="62" r="1.1"/><circle cx="64" cy="86" r="1.1"/><circle cx="64" cy="110" r="1.1"/><circle cx="64" cy="134" r="1.1"/><circle cx="64" cy="158" r="1.1"/><circle cx="88" cy="14" r="1.1"/><circle cx="88" cy="38" r="1.1"/><circle cx="88" cy="62" r="1.1"/><circle cx="88" cy="86" r="1.1"/><circle cx="88" cy="110" r="1.1"/><circle cx="88" cy="134" r="1.1"/><circle cx="88" cy="158" r="1.1"/><circle cx="112" cy="14" r="1.1"/><circle cx="112" cy="38" r="1.1"/><circle cx="112" cy="62" r="1.1"/><circle cx="112" cy="86" r="1.1"/><circle cx="112" cy="110" r="1.1"/><circle cx="112" cy="134" r="1.1"/><circle cx="112" cy="158" r="1.1"/><circle cx="136" cy="14" r="1.1"/><circle cx="136" cy="38" r="1.1"/><circle cx="136" cy="62" r="1.1"/><circle cx="136" cy="86" r="1.1"/><circle cx="136" cy="110" r="1.1"/><circle cx="136" cy="134" r="1.1"/><circle cx="136" cy="158" r="1.1"/><circle cx="160" cy="14" r="1.1"/><circle cx="160" cy="38" r="1.1"/><circle cx="160" cy="62" r="1.1"/><circle cx="160" cy="86" r="1.1"/><circle cx="160" cy="110" r="1.1"/><circle cx="160" cy="134" r="1.1"/><circle cx="160" cy="158" r="1.1"/><circle cx="184" cy="14" r="1.1"/><circle cx="184" cy="38" r="1.1"/><circle cx="184" cy="62" r="1.1"/><circle cx="184" cy="86" r="1.1"/><circle cx="184" cy="110" r="1.1"/><circle cx="184" cy="134" r="1.1"/><circle cx="184" cy="158" r="1.1"/><circle cx="208" cy="14" r="1.1"/><circle cx="208" cy="38" r="1.1"/><circle cx="208" cy="62" r="1.1"/><circle cx="208" cy="86" r="1.1"/><circle cx="208" cy="110" r="1.1"/><circle cx="208" cy="134" r="1.1"/><circle cx="208" cy="158" r="1.1"/><circle cx="232" cy="14" r="1.1"/><circle cx="232" cy="38" r="1.1"/><circle cx="232" cy="62" r="1.1"/><circle cx="232" cy="86" r="1.1"/><circle cx="232" cy="110" r="1.1"/><circle cx="232" cy="134" r="1.1"/><circle cx="232" cy="158" r="1.1"/><circle cx="256" cy="14" r="1.1"/><circle cx="256" cy="38" r="1.1"/><circle cx="256" cy="62" r="1.1"/><circle cx="256" cy="86" r="1.1"/><circle cx="256" cy="110" r="1.1"/><circle cx="256" cy="134" r="1.1"/><circle cx="256" cy="158" r="1.1"/><circle cx="280" cy="14" r="1.1"/><circle cx="280" cy="38" r="1.1"/><circle cx="280" cy="62" r="1.1"/><circle cx="280" cy="86" r="1.1"/><circle cx="280" cy="110" r="1.1"/><circle cx="280" cy="134" r="1.1"/><circle cx="280" cy="158" r="1.1"/><circle cx="304" cy="14" r="1.1"/><circle cx="304" cy="38" r="1.1"/><circle cx="304" cy="62" r="1.1"/><circle cx="304" cy="86" r="1.1"/><circle cx="304" cy="110" r="1.1"/><circle cx="304" cy="134" r="1.1"/><circle cx="304" cy="158" r="1.1"/></g><polyline points="0,54.8 34,54.8 34,14 90,14" fill="none" stroke="#29ABFF" stroke-width="2.4" opacity="0.9" stroke-linejoin="round" stroke-linecap="round"/>
1<polyline points="0,54.8 34,54.8 34,14 90,14" pathLength="100" class="cover-runner" opacity="0" style="animation-delay:0s" fill="none" stroke="#FFFFFF" stroke-width="2.8" stroke-linejoin="round" stroke-linecap="round"/><circle cx="90" cy="14" r="4.5" fill="#29ABFF" class="cover-pulse" style="animation-delay:0s"/><rect x="-3" y="51.8" width="6" height="6" fill="#29ABFF"/><polyline points="49.8,0 49.8,42 107.5,42 107.5,117.5" fill="none" stroke="#9A76FF" stroke-width="2.4" opacity="0.9" stroke-linejoin="round" stroke-linecap="round"/><polyline points="49.8,0 49.8,42 107.5,42 107.5,117.5" pathLength="100" class="cover-runner" opacity="0" style="animation-delay:1.1s" fill="none" stroke="#FFFFFF" stroke-width="2.8" stroke-linejoin="round" stroke-linecap="round"/><circle cx="107.5" cy="117.5" r="4.5" fill="#9A76FF" class="cover-pulse" style="animation-delay:0.9s"/><rect x="46.8" y="-3" width="6" height="6" fill="#9A76FF"/><polyline points="99.1,0 99.1,47.8 144.6,47.8 144.6,129 209.4,129" fill="none" stroke="#FFFFFF" stroke-width="2.4" opacity="0.9" stroke-linejoin="round" stroke-linecap="round"/><polyline points="99.1,0 99.1,47.8 144.6,47.8 144.6,129 209.4,129" pathLength="100" class="cover-runner" opacity="0" style="animation-delay:2.2s" fill="none" stroke="#FFFFFF" stroke-width="2.8" stroke-linejoin="round" stroke-linecap="round"/><circle cx="209.4" cy="129" r="4.5" fill="#FFFFFF" class="cover-pulse" style="animation-delay:1.9s"/><rect x="96.1" y="-3" width="6" height="6" fill="#FFFFFF"/><circle cx="228.6" cy="71.5" r="38.7" fill="none" stroke="#FFFFFF" stroke-width="10"/><rect x="58.7" y="22" width="12" height="136" rx="6" fill="url(#cv-cc-co8tb8)"/></svg></div></a><div class="flex flex-col p-5"><h3 class="text-[1.125rem] font-semibold leading-[1.3] tracking-[-0.005em]"><a class="text-ink hover:text-blue-ink" href="/projects/devlinos">DevlinOS</a></h3><p class="mt-1.5 text-[0.9375rem] leading-[1.5] text-ink-muted">The AI operating system that automates our toughest work and frees up the team to do what we do best.</p></div></article></div> 2<p>If your team needs custom work done, whether that is AI practice simulations, internal automation, or eLearning built around a specific performance problem, <a href="/contact">get in touch</a>.</p></div></main><aside class="border-t border-rule bg-blue-tint" data-nosnippet="true" aria-label="Newsletter signup"><div class="mx-auto px-6 max-w-5xl py-14"><p class="text-[1.75rem] font-semibold tracking-[-0.01em] text-ink">Get new resources as I publish them</p><p class="mt-1 text-[1rem] text-ink-muted">Join 28,000+ instructional designers who get 1 email every week with my latest free content.</p><div class="mt-5 max-w-md"><form class="not-prose" action="/api/subscribe" method="POST"><input type="hidden" name="offer" value="newsletter"/><input type="text" tabindex="-1" autoComplete="off" aria-hidden="true" class="hidden" name="website"/><div class="flex flex-wrap gap-2"><input type="email" required="" placeholder="[email protected]" aria-label="Email address" class="min-w-0 flex-1 rounded-[10px] border-[1.5px] border-rule-strong bg-paper px-4 py-3 text-[1rem] text-ink placeholder:text-ink-faint transition-colors duration-200 focus:border-blue-ink focus:outline-none" name="email"/><button type="submit" class="inline-block cursor-pointer rounded-[10px] font-semibold tracking-[0.01em] transition duration-200 ease-out disabled:pointer-events-none disabled:opacity-45 py-2 text-[0.9375rem] px-[18px] gradient-cta text-white shadow-[0_2px_14px_rgba(1,97,201,0.28)] hover:-translate-y-px hover:shadow-[0_4px_20px_rgba(1,97,201,0.36)]">Join the Free Newsletter</button></div><div class="mt-3 min-h-[65px]"></div><p class="mt-2 text-[0.9375rem] text-ink-faint">No spam, ever. Unsubscribe in one click.</p></form></div></div></aside><!--$--><!--/$--><footer class="bg-band-ground text-band-text"><div class="mx-auto max-w-5xl px-6 py-14"><div class="flex flex-wrap items-start justify-between gap-10"><div><a class="flex items-center gap-[11px]" aria-label="devlinpeck.com â home" href="/"><svg width="36" height="36" viewBox="0 0 120 120" aria-hidden="true"><defs><linearGradient id="_S_3_" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#007FEE"></stop><stop offset="1" stop-color="#7C5CFC"></stop></linearGradient></defs><circle cx="60" cy="60" r="58" fill="#fff"></circle><circle cx="44" cy="70.5" r="13" fill="none" stroke="#16181D" stroke-width="9"></circle><circle cx="76" cy="49.5" r="13" fill="none" stroke="#16181D" stroke-width="9"></circle><rect x="55.5" y="28" width="9" height="64" rx="4.5" fill="url(#_S_3_)"></rect></svg><span class="text-[1.1875rem] font-semibold tracking-[-0.012em] text-white">devlinpeck<span class="text-band-link">.com</span></span></a><p class="mt-4 max-w-[44ch] text-[0.9375rem]">Helping instructional designers do their best work with AI.</p><div class="mt-6 flex items-center gap-3"><span class="label-caps text-band-faint">Theme</span><div role="group" aria-label="Theme" class="flex items-center gap-[2px] rounded-full border border-band-input-border p-[3px]"><button type="button" title="Light theme" aria-label="Light theme" class="theme-opt-light flex h-6 w-6 items-center justify-center rounded-full text-band-faint transition-colors duration-200 hover:text-white"><svg viewBox="0 0 16 16" aria-hidden="true" class="h-[14px] w-[14px]"><circle cx="8" cy="8" r="3.2" fill="currentColor"></circle><g stroke="currentColor" stroke-width="1.4" stroke-linecap="round"><path d="M8 1v1.8M8 13.2V15M1 8h1.8M13.2 8H15M3.05 3.05l1.27 1.27M11.68 11.68l1.27 1.27M12.95 3.05l-1.27 1.27M4.32 11.68l-1.27 1.27"></path></g></svg></button><button type="button" title="Dark theme" aria-label="Dark theme" class="theme-opt-dark flex h-6 w-6 items-center justify-center rounded-full text-band-faint transition-colors duration-200 hover:text-white"><svg viewBox="0 0 16 16" aria-hidden="true" class="h-[14px] w-[14px]"><path d="M13.5 9.7A6 6 0 0 1 6.3 2.5a6 6 0 1 0 7.2 7.2Z" fill="currentColor"></path></svg></button><button type="button" title="Match system theme" aria-label="Match system theme" class="theme-opt-auto flex h-6 w-6 items-center justify-center rounded-full text-band-faint transition-colors duration-200 hover:text-white"><svg viewBox="0 0 16 16" aria-hidden="true" class="h-[14px] w-[14px]"><circle cx="8" cy="8" r="6" fill="none" stroke="currentColor" stroke-width="1.6"></circle><path d="M8 2a6 6 0 0 1 0 12Z" fill="currentColor"></path></svg></button></div></div></div><nav aria-label="Footer" class="flex flex-wrap gap-x-12 gap-y-6 text-[0.9375rem]"><div class="flex flex-col gap-2"><p class="label-caps text-band-faint">Explore</p><a class="hover:text-white" href="/content">Articles</a><a class="hover:text-white" href="/pathways">Pathways</a><a class="hover:text-white" href="/podcast">Podcast</a></div><div class="flex flex-col gap-2"><p class="label-caps text-band-faint">Family</p><a href="https://devlin.ai/?utm_source=devlinpeck.com&utm_medium=referral&
2utm_campaign=footer" data-outbound-placement="footer" target="_blank" rel="noopener noreferrer" class="text-band-link hover:text-white">devlin.ai</a><a href="https://peckacademy.com/?utm_source=devlinpeck.com&utm_medium=referral&utm_campaign=footer" data-outbound-placement="footer" target="_blank" rel="noopener noreferrer" class="text-band-link hover:text-white">Peck Academy</a></div><div class="flex flex-col gap-2"><p class="label-caps text-band-faint">Connect</p><a href="https://www.youtube.com/channel/UCZGIgccnI-n6ih4SXevsbqA" target="_blank" rel="me noopener noreferrer" class="hover:text-white">YouTube</a><a href="https://www.linkedin.com/in/devlinpeck/" target="_blank" rel="me noopener noreferrer" class="hover:text-white">LinkedIn</a><a href="https://www.instagram.com/devlinpeck/" target="_blank" rel="me noopener noreferrer" class="hover:text-white">Instagram</a><a href="https://www.tiktok.com/@devlinpeck" target="_blank" rel="me noopener noreferrer" class="hover:text-white">TikTok</a><a class="hover:text-white" href="/contact">Contact</a></div></nav></div><div class="mt-12 flex flex-wrap items-center gap-x-6 gap-y-2 border-t border-band-input-border pt-6 text-[0.9375rem] text-band-faint"><p>© <!-- -->2026<!-- --> Devlin Peck. All rights reserved.</p><a class="hover:text-white" href="/privacy">Privacy</a><a class="hover:text-white" href="/terms">Terms</a><a class="hover:text-white" href="/cookies">Cookies</a><a class="hover:text-white" href="/disclaimer">Disclaimer</a><button type="button" class="hover:text-white">Cookie preferences</button></div></div></footer><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$-->
2<script src="/_next/static/chunks/38v_w9hl4kap1.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ" id="_R_" async=""></script>
2<script>(self.__next_f=self.__next_f||[]).push([0])</script>
2<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[30977,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/1nmps7mda22jm.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/3e7w59xbfek6a.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"\"]\n11:I[41071,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"default\",1]\n:HL[\"/_next/static/chunks/2vwfu1cir-uwh.css?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"style\"]\n:HL[\"/_next/static/media/jost_latin_wght_italic-s.p.19g9zo69h81f_.woff2?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/jost_latin_wght_normal-s.p.2_4ymh7gr-8lu.woff2?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script>
2<script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"portfolio\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[[\"slug\",\"portfolio\",\"c\",null],{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/2vwfu1cir-uwh.css?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"className\":\"jost_650c15cd-module__tJKIKq__variable\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"meta\",null,{\"name\":\"theme-color\",\"content\":\"#ffffff\"}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var m=document.cookie.match(/(?:^|; )theme=(dark|light|auto)/);var p=m?m[1]:\\\"light\\\";var d=p===\\\"dark\\\"||(p===\\\"auto\\\"\u0026\u0026window.matchMedia(\\\"(prefers-color-scheme: dark)\\\").matches);var e=document.documentElement;e.dataset.theme=d?\\\"dark\\\":\\\"light\\\";e.dataset.themePref=p;var t=document.querySelector('meta[name=\\\"theme-color\\\"]');if(t)t.setAttribute(\\\"content\\\",d?\\\"#101216\\\":\\\"#ffffff\\\");}catch(err){}})()\"}}]]}],[\"$\",\"body\",null,{\"className\":\"bg-paper font-sans text-ink antialiased\",\"children\":[[\"$\",\"header\",null,{\"className\":\"border-b border-rule bg-paper\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto flex max-w-5xl items-center gap-[26px] px-6 py-3\",\"children\":[[\"$\",\"$L2\",null,{\"href\":\"/\",\"className\":\"flex items-center gap-[11px]\",\"aria-label\":\"Devlin Peck â home\",\"children\":[[\"$\",\"span\",null,{\"className\":\"dark:hidden\",\"children\":[\"$\",\"svg\",null,{\"width\":40,\"height\":40,\"viewBox\":\"0 0 120 120\",\"aria-hidden\":\"true\",\"className\":\"$undefined\",\"children\":[[\"$\",\"defs\",null,{\"children\":[\"$\",\"linearGradient\",null,{\"id\":\"_S_1_\",\"x1\":\"0\",\"y1\":\"0\",\"x2\":\"1\",\"y2\":\"1\",\"children\":[[\"$\",\"stop\",null,{\"offset\":\"0\",\"stopColor\":\"#38B0FF\"}],[\"$\",\"stop\",null,{\"offset\":\"1\",\"stopColor\":\"#A98CFF\"}]]}]}],[\"$\",\"circle\",null,{\"cx\":\"60\",\"cy\":\"60\",\"r\":\"58\",\"fill\":\"#16181D\"}],[\"$\",\"circle\",null,{\"cx\":\"44\",\"cy\":\"70.5\",\"r\":\"13\",\"fill\":\"none\",\"stroke\":\"#fff\",\"strokeWidth\":\"9\"}],[\"$\",\"circle\",null,{\"cx\":\"76\",\"cy\":\"49.5\",\"r\":\"13\",\"fill\":\"none\",\"stroke\":\"#fff\",\"strokeWidth\":\"9\"}],[\"$\",\"rect\",null,{\"x\":\"55.5\",\"y\":\"28\",\"width\":\"9\",\"height\":\"64\",\"rx\":\"4.5\",\"fill\":\"url(#_S_1_)\"}]]}]}],[\"$\",\"span\",null,{\"className\":\"hidden dark:inline\",\"children\":[\"$\",\"svg\",null,{\"width\":40,\"height\":40,\"viewBox\":\"0 0 120 120\",\"aria-hidden\":\"true\",\"className\":\"$undefined\",\"children\":[[\"$\",\"defs\",null,{\"children\":[\"$\",\"linearGradient\",null,{\"id\":\"_S_2_\",\"x1\":\"0\",\"y1\":\"0\",\"x2\":\"1\",\"y2\":\"1\",\"children\":[[\"$\",\"stop\",null,{\"offset\":\"0\",\"stopColor\":\"#007FEE\"}],[\"$\",\"stop\",null,{\"offset\":\"1\",\"stopColor\":\"#7C5CFC\"}]]}]}],[\"$\",\"circle\",null,{\"cx\":\"60\",\"cy\":\"60\",\"r\":\"58\",\"fill\":\"#fff\"}],[\"$\",\"circle\",null,{\"cx\":\"44\",\"cy\":\"70.5\",\"r\":\"13\",\"fill\":\"none\",\"stroke\":\"#16181D\",\"strokeWidth\":\"9\"}],[\"$\",\"circle\",null,{\"cx\":\"76\",\"cy\":\"49.5\",\"r\":\"13\",\"fill\":\"none\",\"stroke\":\"#16181D\",\"strokeWidth\":\"9\"}],[\"$\",\"rect\",null,{\"x\":\"55.5\",\"y\":\"28\",\"width\":\"9\",\"height\":\"64\",\"rx\":\"4.5\",\"fill\":\"url(#_S_2_)\"}]]}]}],[\"$\",\"span\",null,{\"className\":\"translate-y-[0.06em] text-[1.3125rem] font-bold leading-none tracking-[-0.012em] text-ink\",\"children\":\"Devlin Peck\"}]]}],[\"$\",\"nav\",null,{\"aria-label\":\"Primary\",\"className\":\"ml-auto flex items-center gap-[22px]\",\"children\":[[[\"$\",\"$L2\",\"/content\",{\"href\":\"/content\",\"className\":\"hidden text-[0.9375rem] font-medium text-ink-muted transition-colors duration-200 hover:text-ink sm:inline\",\"children\":\"Content\"}],[\"$\",\"$L2\",\"/portfolio\",{\"href\":\"/portfolio\",\"className\":\"hidden text-[0.9375rem] font-medium text-ink-muted transition-colors duration-200 hover:text-ink sm:inline\",\"children\":\"Portfolio\"}],[\"$\",\"$L2\",\"/author/devlin-peck\",{\"href\":\"/author/devlin-peck\",\"className\":\"hidden text-[0.9375rem] font-medium text-ink-muted transition-colors duration-200 hover:text-ink sm:inline\",\"children\":\"About\"}]],[\"$\",\"$L2\",null,{\"href\":\"/contact\",\"className\":\"inline-block cursor-pointer rounded-[10px] font-semibold tracking-[0.01em] transition duration-200 ease-out disabled:pointer-events-none disabled:opacity-45 py-2 text-[0.9375rem] px-[18px] gradient-cta text-white shadow-[0_2px_14px_rgba(1,97,201,0.28)] hover:-translate-y-
2px hover:shadow-[0_4px_20px_rgba(1,97,201,0.36)]\",\"children\":\"Let's Talk\"}]]}]]}]}],\"$L3\",\"$L4\",\"$L5\",\"$L6\",\"$L7\",\"$L8\",\"$L9\",\"$La\",\"$Lb\",\"$Lc\"]}]]}]]}],{\"children\":[\"$Ld\",{\"children\":[\"$Le\",{},null,false,null]},null,false,\"$@f\"]},null,false,null],\"$L10\",false]],\"m\":\"$undefined\",\"G\":[\"$11\",[\"$L12\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\"}\n"])</script>
2<script>self.__next_f.push([1,"13:I[89135,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"default\"]\n14:I[79909,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"default\"]\n15:I[80695,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/029lcckx25dfz.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"NotFoundSuggestions\"]\n17:I[40409,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"ThemeToggle\"]\n19:I[60848,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"AskDevlin\"]\n1a:I[5639,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"PromotionsRuntime\"]\n1b:I[5088,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"CardExcerptFit\"]\n1c:I[81655,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"ConsentBanner\"]\n1d:I[26817,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"GoogleAnalytics\"]\n1e:I[91025,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"Analytics\"]\n1f:I[60712,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"OutboundReferralTracker\"]\n20:I[46154,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"DpEditOverlay\"]\n22:I[60683,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"OutletBoundary\"]\n23:\"$Sreact.suspense\"\n26:I[60683,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"ViewportBoundary\"]\n28:I[60683,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"MetadataBoundary\"]\n"])</script>
2<script>self.__next_f.push([1,"3:[\"$\",\"$L13\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L14\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"main\",null,{\"className\":\"mx-auto max-w-3xl px-6 py-14\",\"children\":[[\"$\",\"p\",null,{\"className\":\"label-caps text-ink-faint\",\"children\":\"404\"}],[\"$\",\"h1\",null,{\"className\":\"mt-2 text-4xl font-bold tracking-[-0.015em] text-ink\",\"children\":\"Page not found\"}],[\"$\",\"div\",null,{\"className\":\"throughline mt-6\",\"aria-hidden\":\"true\"}],[\"$\",\"p\",null,{\"className\":\"mt-5 text-ink-muted\",\"children\":\"This page does not exist. It may have moved when the site migrated, or the link you followed was wrong.\"}],[\"$\",\"$L15\",null,{\"entries\":[{\"slug\":\"ai-literacy-training-for-employees\",\"title\":\"AI Literacy Training for Employees: A Leader's Rollout Guide\"},{\"slug\":\"ai-in-corporate-training\",\"title\":\"AI in Corporate Training: What Actually Works in 2026\"},{\"slug\":\"ai-in-corporate-training-statistics\",\"title\":\"AI in Corporate Training Statistics for 2026\"},{\"slug\":\"ai-portfolio-projects-for-instructional-designers\",\"title\":\"6 AI Portfolio Projects for Instructional Designers\"},{\"slug\":\"chatgpt-for-instructional-design\",\"title\":\"How to Use ChatGPT for Instructional Design: Real Workflows\"},{\"slug\":\"synthesia-roleplay-vs-devlin-ai\",\"title\":\"Synthesia Roleplay Sessions vs devlin.ai: 2026 Comparison\"},{\"slug\":\"will-ai-replace-instructional-designers\",\"title\":\"Will AI Replace Instructional Designers? My Honest Answer\"},{\"slug\":\"ai-tools-for-instructional-design\",\"title\":\"The Best AI Tools for Instructional Design (2026): What I Actually Use\"},{\"slug\":\"scenario-based-learning\",\"title\":\"Scenario-Based Learning: The Complete Guide\"},{\"slug\":\"ai-role-play-simulations\",\"title\":\"AI Role-Play Simulations: What They Are and When They Work\"},{\"slug\":\"ai-training-simulations\",\"title\":\"AI Training Simulations: The L\u0026D Leader's Guide\"},{\"slug\":\"evaluating-ai-simulation-tools\",\"title\":\"Build vs Buy: How to Evaluate AI Simulation Tools for Your Team\"},{\"slug\":\"roi-of-practice-based-training\",\"title\":\"The ROI of Practice-Based Training: What the Data Says\"},{\"slug\":\"rolling-out-ai-simulations\",\"title\":\"Rolling Out AI Simulations: What Your Team Actually Needs\"},{\"slug\":\"ux-lxd-vs-id\",\"title\":\"UX and LXD vs ID: What You Need to Know\"},{\"slug\":\"jobs-with-an-education-degree\",\"title\":\"What Can You Do With an Education Degree? 14 High-Paying Jobs\"},{\"slug\":\"ai-in-instructional-design\",\"title\":\"AI in Instructional Design: The Complete 2026 Guide\"},{\"slug\":\"history-of-instructional-design\",\"title\":\"The Full History of Instructional Design\"},{\"slug\":\"teacher-shortage-statistics\",\"title\":\"15 Teacher Shortage Statistics (2025)\"},{\"slug\":\"elearning-market-size\",\"title\":\"The eLearning Market Size and Trends in 2025\"},{\"slug\":\"non-teaching-education-jobs\",\"title\":\"Top 25 Non-Teaching Jobs in Education (2026) | Salary \u0026 Guide\"},{\"slug\":\"teacher-shortage-by-state\",\"title\":\"Teacher Shortages by State in 2026: Full 50-State Data\"},{\"slug\":\"quitting-teaching-mid-year\",\"title\":\"Quitting Teaching Mid-Year: Can You Really Do It?\"},{\"slug\":\"why-teachers-quit\",\"title\":\"Why Teachers Quit + What You Can Do Instead\"},{\"slug\":\"i-hate-teaching\",\"title\":\"âI Hate Teachingâ: What to Do Next\"},{\"slug\":\"career-change-for-teachers\",\"title\":\"How to Change Your Career from Teaching in 2025\"},{\"slug\":\"employee-onboarding-statistics\",\"title\":\"25+ Employee Onboarding Statistics and Trends for 2026\"},{\"slug\":\"transferable-skills-from-teaching\",\"title\":\"15 Transferable Skills from Teaching (2025 Guide)\"},{\"slug\":\"what-does-an-instructional-designer-do\",\"title\":\"What Does an Instructional Designer Do in 2026?\"},{\"slug\":\"online-learning-trends\",\"title\":\"10 Top Online Learning Trends for 2025: Definitive Guide\"},{\"slug\":\"tech-jobs-for-teachers\",\"title\":\"Tech Jobs for Teachers: The Best Alternatives in 2025\"},{\"slug\":\"ai-in-design\",\"title\":\"AI in Design 2026: Best Tools, Real Workflows, What's Next\"}
2,{\"slug\":\"employee-training-statistics\",\"title\":\"37 Employee Training Statistics and Trends for 2026\"},{\"slug\":\"remote-jobs-for-former-teachers\",\"title\":\"Remote Jobs for Former Teachers: The Complete Guide\"},{\"slug\":\"principles-of-instructional-design\",\"title\":\"The Key Principles of Instructional Design (2025)\"},{\"slug\":\"elearning-trends\",\"title\":\"Top eLearning Trends: The Ultimate Guide in 2025\"},{\"slug\":\"instructional-design-theory\",\"title\":\"33 Instructional Design Theories, Models, and Principles\"},{\"slug\":\"teacher-to-instructional-designer\",\"title\":\"How to Transition From Teacher to Instructional Designer [2025 Guide]\"},{\"slug\":\"instructional-design-masters\",\"title\":\"The 21 Best Instructional Design Masterâs Degree Programs\"},{\"slug\":\"teacher-burnout-statistics\",\"title\":\"Teacher Burnout Statistics: Why Teachers Quit in 2026\"},{\"slug\":\"freelance-instructional-designer\",\"title\":\"How to Become a Freelance Instructional Designer in 2026\"},{\"slug\":\"online-learning-statistics\",\"title\":\"Online Learning Statistics: The Ultimate List for 2026\"},{\"slug\":\"instructional-designer-interview-questions\",\"title\":\"50+ Instru
2ctional Designer Interview Questions for 2025\"},{\"slug\":\"instructional-design-skills\",\"title\":\"The Top 15 Instructional Design Skills You Need in 2026\"},{\"slug\":\"instructional-design-certifications\",\"title\":\"The 15 Best Instructional Design Certificate Programs in 2026\"},{\"slug\":\"instructional-design-software\",\"title\":\"60+ Best Instructional Design Software Tools \u0026 Resources in 2025\"},{\"slug\":\"instructional-design-courses\",\"title\":\"The 15 Best Instructional Design Courses in 2026 (Free to Paid)\"},{\"slug\":\"best-job-former-teachers\",\"title\":\"50 Best Jobs \u0026 Alternative Careers for Former Teachers (2026)\"},{\"slug\":\"create-instructional-design-document\",\"title\":\"Instructional Design Document Template: Guide and Example\"},{\"slug\":\"id-hiring-manager-report\",\"title\":\"Instructional Design Hiring Manager Report 2024\"},{\"slug\":\"instructional-designer-salary\",\"title\":\"Instructional Designer Salary Report 2024\"},{\"slug\":\"kirkpatrick-model-evaluation\",\"title\":\"The Kirkpatrick Model: 4 Levels, Examples, and Free Template\"},{\"slug\":\"how-to-become-instructional-designer\",\"title\":\"How to Become an Instructional Designer in 2026 (Step-by-Step)\"},{\"slug\":\"successive-approximation-model\",\"title\":\"The Successive Approximation Model (SAM): A Complete Guide\"},{\"slug\":\"best-instructional-design-models\",\"title\":\"The Best Instructional Design Models for Creating Great Learning Experiences\"},{\"slug\":\"instructional-design-process-made-simple\",\"title\":\"The Instructional Design Process Made Simple (ADDIE, SAM, and Action Mapping)\"},{\"slug\":\"what-is-instructional-design\",\"title\":\"What Is Instructional Design? Definition and 8 Real Examples\"},{\"slug\":\"project-ideas-elearning-portfolio\",\"title\":\"eLearning Portfolio Project Ideas That Get You Hired in 2026\"},{\"slug\":\"writing-tips-instructional-design\",\"title\":\"10 Writing Tips for Instructional Designers (With Rewrites)\"},{\"slug\":\"how-to-design-elearning\",\"title\":\"How to Design Effective eLearning\"},{\"slug\":\"articulate-storyline-custom-xapi-statement-first-impressions\",\"title\":\"Custom xAPI Statements in Articulate Storyline - First Impressions\"},{\"slug\":\"instructional-designer-report-2021\",\"title\":\"Instructional Designer Full Report 2021\"},{\"slug\":\"create-storyboard-for-elearning\",\"title\":\"How to Create a Storyboard for eLearning (Instructional Design)\"},{\"slug\":\"develop-chatbot-in-articulate-storyline\",\"title\":\"How to Develop a Chatbot in Articulate Storyline: 3 Ways\"},{\"slug\":\"lack-of-training\",\"title\":\"Is Lack of Training a Problem?\"},{\"slug\":\"articulate-storyline-vs-rise\",\"title\":\"Articulate Rise vs Storyline: Which Should You Use in 2026?\"},{\"slug\":\"top-5-elearning-examples\",\"title\":\"8 Best eLearning Examples (Scenario-Based and AI-Powered)\"},{\"slug\":\"closed-captions-storyline\",\"title\":\"How to Generate Closed Captions in Articulate Storyline 360\"},{\"slug\":\"elearning-portfolio-reviews\",\"title\":\"eLearning Portfolio Reviews\"},{\"slug\":\"how-to-use-lms\",\"title\":\"How to Use an LMS: A Practical Guide for Instructional Designers\"},{\"slug\":\"get-id-job-without-experience\",\"title\":\"How to Get an Instructional Design Job With No Experience\"},{\"slug\":\"graphics-for-elearning\",\"title\":\"Where to Get Graphics for eLearning: Stock, AI, and Custom\"},{\"slug\":\"send-custom-xapi-statements\",\"title\":\"How to Send Custom xAPI Statements in 2025\"},{\"slug\":\"create-instructional-design-resume\",\"title\":\"Instructional Designer Resume: Examples, Keywords, and Template\"},{\"slug\":\"track-elearning-without-lms\",\"title\":\"How to Track eLearning Without an LMS\"},{\"slug\":\"how-to-learn-articulate-storyline\",\"title\":\"How to Learn Articulate Storyline 360\"},{\"slug\":\"mayers-principles-of-multimedia-learning\",\"title\":\"Mayer's 12 Principles of Multimedia Learning (With Examples)\"},{\"slug\":\"write-learning-objectives\",\"title\":\"How to Write Learning Objectives\"},{\"slug\":\"action-mapping-for-instructional-designers\",\"title\":\"Action Mapping: Cathy Moore's Model Explained with Examples\"},{\"slug\":\"lxd-vs-id\",\"title\":\"Learning Experience Design vs. Instructional Design\"},{\"slug\":\"visual-design-elearning\",\"title\":\"Visual Design Principles for eLearning (With Examples)\"}
2,{\"slug\":\"find-instructional-design-jobs\",\"title\":\"How to Find Instructional Design Jobs in 2026\"},{\"slug\":\"what-is-elearning\",\"title\":\"What is eLearning? eLearning Explained [Updated in 2025]\"},{\"slug\":\"best-elearning-books\",\"title\":\"Best eLearning Books for Instructional Designers\"},{\"slug\":\"use-linkedin-effectively\",\"title\":\"How to Use LinkedIn Effectively\"},{\"slug\":\"glide-xapi-button\",\"title\":\"Send an xAPI Statement from a Glide App Button\"},{\"slug\":\"generate-pdf-elearning\",\"title\":\"Generate a PDF Certificate from an eLearning Course\"},{\"slug\":\"best-laptops-instructional-design\",\"title\":\"Best Laptops for Instructional Designers in 2025\"},{\"slug\":\"project-pricing\",\"title\":\"Hourly Pricing vs. Project Pricing\"},{\"slug\":\"create-instructional-design-portfolio\",\"title\":\"How to Create an Instructional Design Portfolio in 2026\"},{\"slug\":\"red-flags-for-freelancers\",\"title\":\"Top 5 Red Flags for Freelancers\"},{\"slug\":\"no-code-tools-elearning\",\"title\":\"Top 5 No-Code Tools for eLearning\"},{\"slug\":\"elearning-portfolio-evolution\",\"title\":\"The Evolution of my eLearning Portfolio\"},{\"slug\":\"full-guide-xapi-storyline\",\"title\":\"The Full Guide to xAPI and Storyline\"},{\"slug\":\"xapi-storyline-troubleshooting\",\"title\":\"Common xAPI \u0026 Storyline Troubleshooting Steps\"},{\"slug\":\"create-xapi-leaderboard\",\"title\":\"Create an xAPI-Powered Leaderboard in Storyline\"},{\"slug\":\"gagnes-nine-events-of-instruction\",\"title\":\"How to Apply Gagne's 9 Events of Instruction\"},{\"slug\":\"instructional-designer-elearning-developer\",\"title\":\"Instructional Designer vs. eLearning Developer: Key Differences\"},{\"slug\":\"query-lrs\",\"title\":\"How to Query the LRS (xAPI Tutorial)\"},{\"slug\":\"manage-project-xapi-storyline\",\"title\":\"Managing Your Project: xAPI and Storyline\"},{\"slug\":\"measure-duration-xapi-storyline\",\"title\":\"How to Measure Duration with xAPI, Storyline, and JS Timers\"},{\"slug\":\"collect-quiz-score-xapi\",\"title\":\"How to Collect Quiz Score Info with xAPI and Storyline\"},{\"slug\":\"collect-text-response-xapi\",\"title\":\"How to Collect Text Responses with xAPI and Storyline\"},{\"slug\":\"activity-info-xapi-storyline\",\"title\":\"How to Collect Activity Info with xAPI and Storyline\"},{\"slug\":\"map-it-cathy-moore\",\"title\":\"Book Review: Map It by Cathy Moore\"},{\"slug\":\"conduct-needs-assessment\",\"title\":\"How to Conduct a Needs Assessment\"},{\"slug\":\"what-is-performance-support\",\"title\":\"What is Performance Support and Why is it Effective?\"},{\"slug\":\"addie-instructional-design\",\"title\":\"What Is the ADDIE Model? The 5 Phases of Instructional Design\"},{\"slug\":\"analysis-instructional-design\",\"title\":\"4 Types of Analysis for Instructional Design\"},{\"slug\":\"training-needs-assessment\",\"title\":\"What is a Training Needs Assessment?\"},{\"slug\":\"what-is-performance-consulting\",\"title\":\"What is Performance Consulting?\"},{\"slug\":\"ethics-of-designing-training\",\"title\":\"The Ethics of Designing Training: Should You Build That Course?\"},{\"slug\":\"send-xapi-statement-storyline\",\"title\":\"How to Send an xAPI Statement from a Storyline Course\"},{\"slug\":\"collect-user-name-storyline\",\"title\":\"How to Collect a User's Name \u0026 Email from a Storyline Course\"},{\"slug\":\"write-xapi-statement\",\"title\":\"How to Write an xAPI Statement from Scratch\"},{\"slug\":\"upload-storyline-to-web\",\"title\":\"How to Upload eLearning Projects to the Web\"}]}],\"$L16\"]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]\n"])</script>
2<script>self.__next_f.push([1,"4:[\"$\",\"footer\",null,{\"className\":\"bg-band-ground text-band-text\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-5xl px-6 py-14\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-start justify-between gap-10\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"$L2\",null,{\"href\":\"/\",\"className\":\"flex items-center gap-[11px]\",\"aria-label\":\"devlinpeck.com â home\",\"children\":[[\"$\",\"svg\",null,{\"width\":36,\"height\":36,\"viewBox\":\"0 0 120 120\",\"aria-hidden\":\"true\",\"className\":\"$undefined\",\"children\":[[\"$\",\"defs\",null,{\"children\":[\"$\",\"linearGradient\",null,{\"id\":\"_S_3_\",\"x1\":\"0\",\"y1\":\"0\",\"x2\":\"1\",\"y2\":\"1\",\"children\":[[\"$\",\"stop\",null,{\"offset\":\"0\",\"stopColor\":\"#007FEE\"}],[\"$\",\"stop\",null,{\"offset\":\"1\",\"stopColor\":\"#7C5CFC\"}]]}]}],[\"$\",\"circle\",null,{\"cx\":\"60\",\"cy\":\"60\",\"r\":\"58\",\"fill\":\"#fff\"}],[\"$\",\"circle\",null,{\"cx\":\"44\",\"cy\":\"70.5\",\"r\":\"13\",\"fill\":\"none\",\"stroke\":\"#16181D\",\"strokeWidth\":\"9\"}],[\"$\",\"circle\",null,{\"cx\":\"76\",\"cy\":\"49.5\",\"r\":\"13\",\"fill\":\"none\",\"stroke\":\"#16181D\",\"strokeWidth\":\"9\"}],[\"$\",\"rect\",null,{\"x\":\"55.5\",\"y\":\"28\",\"width\":\"9\",\"height\":\"64\",\"rx\":\"4.5\",\"fill\":\"url(#_S_3_)\"}]]}],[\"$\",\"span\",null,{\"className\":\"text-[1.1875rem] font-semibold tracking-[-0.012em] text-white\",\"children\":[\"devlinpeck\",[\"$\",\"span\",null,{\"className\":\"text-band-link\",\"children\":\".com\"}]]}]]}],[\"$\",\"p\",null,{\"className\":\"mt-4 max-w-[44ch] text-[0.9375rem]\",\"children\":\"Helping instructional designers do their best work with AI.\"}],[\"$\",\"div\",null,{\"className\":\"mt-6 flex items-center gap-3\",\"children\":[[\"$\",\"span\",null,{\"className\":\"label-caps text-band-faint\",\"children\":\"Theme\"}],[\"$\",\"$L17\",null,{}]]}]]}],[\"$\",\"nav\",null,{\"aria-label\":\"Footer\",\"className\":\"flex flex-wrap gap-x-12 gap-y-6 text-[0.9375rem]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"p\",null,{\"className\":\"label-caps text-band-faint\",\"children\":\"Explore\"}],[\"$\",\"$L2\",null,{\"href\":\"/content\",\"className\":\"hover:text-white\",\"children\":\"Articles\"}],[\"$\",\"$L2\",null,{\"href\":\"/pathways\",\"className\":\"hover:text-white\",\"children\":\"Pathways\"}],[\"$\",\"$L2\",null,{\"href\":\"/podcast\",\"className\":\"hover:text-white\",\"children\":\"Podcast\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"p\",null,{\"className\":\"label-caps text-band-faint\",\"children\":\"Family\"}],[\"$\",\"a\",null,{\"href\":\"https://devlin.ai/?utm_source=devlinpeck.com\u0026utm_medium=referral\u0026utm_campaign=footer\",\"data-outbound-placement\":\"footer\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"text-band-link hover:text-white\",\"children\":\"devlin.ai\"}],[\"$\",\"a\",null,{\"href\":\"https://peckacademy.com/?utm_source=devlinpeck.com\u0026utm_medium=referral\u0026utm_campaign=footer\",\"data-outbound-placement\":\"footer\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"text-band-link hover:text-white\",\"children\":\"Peck Academy\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"p\",null,{\"className\":\"label-caps text-band-faint\",\"children\":\"Connect\"}],[[\"$\",\"a\",\"https://www.youtube.com/channel/UCZGIgccnI-n6ih4SXevsbqA\",{\"href\":\"https://www.youtube.com/channel/UCZGIgccnI-n6ih4SXevsbqA\",\"target\":\"_blank\",\"rel\":\"me noopener noreferrer\",\"className\":\"hover:text-white\",\"children\":\"YouTube\"}],[\"$\",\"a\",\"https://www.linkedin.com/in/devlinpeck/\",{\"href\":\"https://www.linkedin.com/in/devlinpeck/\",\"target\":\"_blank\",\"rel\":\"me noopener noreferrer\",\"className\":\"hover:text-white\",\"children\":\"LinkedIn\"}],[\"$\",\"a\",\"https://www.instagram.com/devlinpeck/\",{\"href\":\"https://www.instagram.com/devlinpeck/\",\"target\":\"_blank\",\"rel\":\"me noopener noreferrer\",\"className\":\"hover:text-white\",\"children\":\"Instagram\"}],[\"$\",\"a\",\"https://www.tiktok.com/@devlinpeck\",{\"href\":\"https://www.tiktok.com/@devlinpeck\",\"target\":\"_blank\",\"rel\":\"me noopener noreferrer\",\"className\":\"hover:text-white\",\"children\":\"TikTok\"}]],[\"$\",\"$L2\",null,{\"href\":\"/contact\",\"className\":\"hover:text-white\",\"children\":\"Contact\"}]]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"mt-12 flex flex-wrap items-center gap-x-6 gap-y-2 border-t border-band-input-border pt-6 text-[0.9375rem] text-band-faint\",\"children\":[[\"$\",\"p\",null,{\"children\":[\"© \",2026,\" Devlin Peck. All rights reserved.\"]}],[\"$\",\"$L2\",null,{\"href\":\"/privacy\",\"className\":\"hover:text-white\",\"children\":\"Privacy\"}],[\"$\",\"$L2\",null,{\"href\":\"/terms\",\"className\":\"hover:text-white\",\"children\":\"Terms\"}],[\"$\",\"$L2\",null,{\"href\":\"/cookies\",\"className\":\"hover:text-white\",\"children\":\"Cookies\"}],[\"$\",\"$L2\",null,{\"href\":\"/disclaimer\",\"className\":\"hover:text-white\",\"children\":\"Disclaimer\"}],\"$L18\"]}]]}]}]\n"])</script>
2<script>self.__next_f.push([1,"5:[\"$\",\"$L19\",null,{}]\n6:[\"$\",\"$L1a\",null,{}]\n7:[\"$\",\"$L1b\",null,{}]\n8:[\"$\",\"$L1c\",null,{}]\n9:[\"$\",\"$L1d\",null,{}]\na:[\"$\",\"$L1e\",null,{}]\nb:[\"$\",\"$L1f\",null,{}]\nc:[\"$\",\"$L20\",null,{}]\nd:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L13\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L14\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\ne:[\"$\",\"$1\",\"c\",{\"children\":[\"$L21\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/1nmps7mda22jm.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/3e7w59xbfek6a.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L22\",null,{\"children\":[\"$\",\"$23\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@24\"}]}]]}]\n25:[]\nf:\"$W25\"\n10:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L26\",null,{\"children\":\"$L27\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$23\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L29\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n12:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/2vwfu1cir-uwh.css?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script>
2<script>self.__next_f.push([1,"2a:I[26325,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"CookiePreferences\"]\n16:[\"$\",\"p\",null,{\"className\":\"mt-10\",\"children\":[\"$\",\"$L2\",null,{\"href\":\"/content\",\"className\":\"font-semibold text-blue-ink hover:underline hover:underline-offset-4\",\"children\":\"Browse all free content\"}]}]\n18:[\"$\",\"$L2a\",null,{\"className\":\"hover:text-white\"}]\n"])</script>
2<script>self.__next_f.push([1,"2c:I[14074,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/1nmps7mda22jm.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/3e7w59xbfek6a.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"LeadForm\"]\n"])</script>
2<script>self.__next_f.push([1,"21:[false,[\"$\",\"main\",null,{\"className\":\"mx-auto max-w-5xl px-6 py-12\",\"children\":[[[\"$\",\"header\",null,{\"className\":\"mb-14 motion-safe:animate-[fadeup_400ms_ease-out]\",\"children\":[\"$undefined\",[\"$\",\"h1\",null,{\"className\":\"hero-h1 mt-2 text-ink\",\"data-dp-src\":\"content/pages/portfolio.mdx#hero.heading\",\"children\":\"Portfolio\"}],[\"$\",\"div\",null,{\"className\":\"throughline mt-7\",\"aria-hidden\":\"true\"}],[\"$\",\"p\",null,{\"className\":\"mt-6 text-[1.125rem] text-ink-muted\",\"data-dp-src\":\"content/pages/portfolio.mdx#hero.sub\",\"children\":\"My work today covers three primary projects: devlin.ai, an AI simulation builder used by enterprise learning teams; Peck Academy, a state-licensed career school for instructional designers; and DevlinOS, the AI operating system my team and I built to run the businesses. Each write-up below covers what problem the project solves, how it is built, and what it taught me.\"}],\"$undefined\",\"$undefined\",\"$undefined\"]}],[\"$\",\"div\",null,{\"data-dp-src\":\"content/pages/portfolio.mdx#body\",\"className\":\"prose max-w-none\",\"children\":\"$L2b\"}]],\"$undefined\"]}],[\"$\",\"aside\",null,{\"className\":\"border-t border-rule bg-blue-tint\",\"data-nosnippet\":true,\"aria-label\":\"Newsletter signup\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto px-6 max-w-5xl py-14\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[1.75rem] font-semibold tracking-[-0.01em] text-ink\",\"children\":\"Get new resources as I publish them\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-[1rem] text-ink-muted\",\"children\":\"Join 28,000+ instructional designers who get 1 email every week with my latest free content.\"}],[\"$\",\"div\",null,{\"className\":\"mt-5 max-w-md\",\"children\":[\"$\",\"$L2c\",null,{\"offer\":\"newsletter\",\"format\":\"footer\",\"button\":\"Join the Free Newsletter\",\"privacy\":\"No spam, ever. Unsubscribe in one click.\",\"isMagnet\":false}]}]]}]}]]\n"])</script>
2<script>self.__next_f.push([1,"2d:T14f2,"])</script>
2<script>self.__next_f.push([1,"\u003csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 180\" preserveAspectRatio=\"xMidYMid slice\" role=\"img\" aria-hidden=\"true\" data-cover-style=\"facet\" data-cover-variant=\"card\"\u003e\u003cdefs\u003e\u003clinearGradient id=\"cv-fc-159m0jj\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\"\u003e\u003cstop offset=\"0\" stop-color=\"#29ABFF\"/\u003e\u003cstop offset=\"1\" stop-color=\"#9A76FF\"/\u003e\u003c/linearGradient\u003e\u003c/defs\u003e\u003crect width=\"320\" height=\"180\" fill=\"#16181D\"/\u003e\u003cpolygon points=\"61.9,0 0,35.1 0,0\" fill=\"#131730\" stroke=\"#131730\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"61.9,0 55.3,41 0,35.1\" fill=\"#007FEE\" stroke=\"#007FEE\" stroke-width=\"1\" class=\"cover-shimmer\" style=\"animation-delay:8.5s\"/\u003e\u003cpolygon points=\"96,0 55.3,41 61.9,0\" fill=\"#1C1B41\" stroke=\"#1C1B41\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"96,0 118.5,39 55.3,41\" fill=\"#0E2A5C\" stroke=\"#0E2A5C\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"152.2,0 118.5,39 96,0\" fill=\"#0B2450\" stroke=\"#0B2450\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"152.2,0 149.5,36.5 118.5,39\" fill=\"#33246E\" stroke=\"#33246E\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"203.1,0 149.5,36.5 152.2,0\" fill=\"#0B2450\" stroke=\"#0B2450\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"203.1,0 204.1,56 149.5,36.5\" fill=\"#101A33\" stroke=\"#101A33\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"255.6,0 204.1,56 203.1,0\" fill=\"#1C1B41\" stroke=\"#1C1B41\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"255.6,0 262.7,38.6 204.1,56\" fill=\"#33246E\" stroke=\"#33246E\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"320,0 262.7,38.6 255.6,0\" fill=\"#101A33\" stroke=\"#101A33\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"320,0 320,43.9 262.7,38.6\" fill=\"#33246E\" stroke=\"#33246E\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"0,35.1 55.3,41 60.1,96.6\" fill=\"#0E2A5C\" stroke=\"#0E2A5C\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"0,35.1 60.1,96.6 0,81.6\" fill=\"#0B2450\" stroke=\"#0B2450\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"55.3,41 118.5,39 109,96.4\" fill=\"#0E2A5C\" stroke=\"#0E2A5C\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"55.3,41 109,96.4 60.1,96.6\" fill=\"#101A33\" stroke=\"#101A33\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"118.5,39 149.5,36.5 152.1,98.9\" fill=\"#0E2A5C\" stroke=\"#0E2A5C\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"118.5,39 152.1,98.9 109,96.4\" fill=\"#101A33\" stroke=\"#101A33\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"149.5,36.5 204.1,56 210.3,99.3\" fill=\"#33246E\" stroke=\"#33246E\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"149.5,36.5 210.3,99.3 152.1,98.9\" fill=\"#0B2450\" stroke=\"#0B2450\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"204.1,56 262.7,38.6 267.5,84.3\" fill=\"#1C1B41\" stroke=\"#1C1B41\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"204.1,56 267.5,84.3 210.3,99.3\" fill=\"#0B2450\" stroke=\"#0B2450\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"320,43.9 267.5,84.3 262.7,38.6\" fill=\"#0E2A5C\" stroke=\"#0E2A5C\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"320,43.9 320,89.2 267.5,84.3\" fill=\"#0E2A5C\" stroke=\"#0E2A5C\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"0,81.6 60.1,96.6 50.1,125.6\" fill=\"#101A33\" stroke=\"#101A33\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"0,81.6 50.1,125.6 0,134.6\" fill=\"#131730\" stroke=\"#131730\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"109,96.4 50.1,125.6 60.1,96.6\" fill=\"#101A33\" stroke=\"#101A33\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"109,96.4 119.5,129.4 50.1,125.6\" fill=\"#0B2450\" stroke=\"#0B2450\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"152.1,98.9 119.5,129.4 109,96.4\" fill=\"#0B2450\" stroke=\"#0B2450\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"152.1,98.9 152,135.9 119.5,129.4\" fill=\"#0B2450\" stroke=\"#0B2450\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"152.1,98.9 210.3,99.3 211.6,135.6\" fill=\"#131730\" stroke=\"#131730\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"152.1,98.9 211.6,135.6 152,135.9\" fill=\"#1C1B41\" stroke=\"#1C1B41\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"210.3,99.3 267.5,84.3 259.7,142.8\" fill=\"#131730\" stroke=\"#131730\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"210.3,99.3 259.7,142.8 211.6,135.6\" fill=\"#131730\" stroke=\"#131730\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"320,89.2 259.7,142.8 267.5,84.3\" fill=\"#0E2A5C\" stroke=\"#0E2A5C\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"320,89.2 320,128.2 259.7,142.8\" fill=\"#0B2450\" stroke=\"#0B2450\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"50.1,125.6 0,180 0,134.6\" fill=\"#0E2A5C\" stroke=\"#0E2A5C\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"50.1,125.6 52.1,180 0,180\" fill=\"#101A33\" stroke=\"#101A33\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"50.1,125.6 119.5,129.4 116.5,180\" fill=\"#33246E\" stroke=\"#33246E\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"50.1,125.6 116.5,180 52.1,180\" fill=\"#1C1B41\" stroke=\"#1C1B41\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"152,135.9 116.5,180 119.5,129.4\" fill=\"#101A33\" stroke=\"#101A33\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"152,135.9 154.2,180 116.5,180\" fill=\"#101A33\" stroke=\"#101A33\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"152,135.9 211.6,135.6 207.8,180\" fill=\"#1C1B41\" stroke=\"#1C1B41\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"152,135.9 207.8,180 154.2,180\" fill=\"#101A33\" stroke=\"#101A33\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"211.6,135.6 259.7,142.8 275.3,180\" fill=\"#0B2450\" stroke=\"#0B2450\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"211.6,135.6 275.3,180 207.8,180\" fill=\"#101A33\" stroke=\"#101A33\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"259.7,142.8 320,128.2 320,180\" fill=\"#33246E\" stroke=\"#33246E\" stroke-width=\"1\"/\u003e\u003cpolygon points=\"259.7,142.8 320,180 275.3,180\" fill=\"#33246E\" stroke=\"#33246E\" stroke-width=\"1\"/\u003e\u003ccircle cx=\"142.8\" cy=\"128.3\" r=\"49.7\" fill=\"none\" stroke=\"#FFFFFF\" stroke-width=\"13\" opacity=\"0.97\"/\u003e\u003crect x=\"227\" y=\"22\" width=\"12\" height=\"136\" rx=\"6\" fill=\"url(#cv-fc-159m0jj)\"/\u003e\u003cg class=\"cover-drift\"\u003e\u003ccircle cx=\"136.6\" cy=\"83.2\" r=\"8\" fill=\"#29ABFF\"/\u003e\u003c/g\u003e\u003c/svg\u003e"])</script>
2<script>self.__next_f.push([1,"2b:[[\"$\",\"div\",null,{\"className\":\"not-prose grid gap-6 sm:grid-cols-2 lg:grid-cols-3\",\"children\":[[\"$\",\"article\",\"projects/devlin-ai\",{\"className\":\"cover-motion-hover flex flex-col overflow-hidden rounded-xl border border-rule bg-paper transition duration-200 ease-out hover:-translate-y-0.5 hover:border-rule-strong hover:shadow-[0_10px_28px_rgba(22,24,29,0.07)]\",\"children\":[[\"$\",\"$L2\",null,{\"href\":\"/projects/devlin-ai\",\"tabIndex\":-1,\"aria-hidden\":\"true\",\"className\":\"block aspect-video w-full overflow-hidden\",\"children\":[\"$\",\"div\",null,{\"className\":\"cover-art block h-full w-full\",\"dangerouslySetInnerHTML\":{\"__html\":\"$2d\"}}]}],\"$L2e\"]}],\"$L2f\",\"$L30\"]}],\"\\n\",\"$L31\"]\n"])</script>
2<script>self.__next_f.push([1,"2e:[\"$\",\"div\",null,{\"className\":\"flex flex-col p-5\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-[1.125rem] font-semibold leading-[1.3] tracking-[-0.005em]\",\"children\":[\"$\",\"$L2\",null,{\"href\":\"/projects/devlin-ai\",\"className\":\"text-ink hover:text-blue-ink\",\"children\":\"devlin.ai\"}]}],[\"$\",\"p\",null,{\"className\":\"mt-1.5 text-[0.9375rem] leading-[1.5] text-ink-muted\",\"children\":\"The practice platform for instructional design: AI simulations, coaches, and hosting that integrate with the courses you already build.\"}]]}]\n32:T1b6b,"])</script>
2<script>self.__next_f.push([1,"\u003csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 180\" preserveAspectRatio=\"xMidYMid slice\" role=\"img\" aria-hidden=\"true\" data-cover-style=\"contour\" data-cover-variant=\"card\"\u003e\u003cdefs\u003e\u003clinearGradient id=\"cv-ct-41y68y\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\"\u003e\u003cstop offset=\"0\" stop-color=\"#29ABFF\"/\u003e\u003cstop offset=\"1\" stop-color=\"#9A76FF\"/\u003e\u003c/linearGradient\u003e\u003c/defs\u003e\u003crect width=\"320\" height=\"180\" fill=\"#16181D\"/\u003e\u003cg fill=\"#FFFFFF\" opacity=\"0.05\"\u003e\u003ccircle cx=\"16\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"16\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"16\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"16\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"16\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"16\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"16\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"40\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"40\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"40\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"40\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"40\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"40\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"40\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"64\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"64\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"64\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"64\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"64\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"64\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"64\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"88\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"88\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"88\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"88\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"88\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"88\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"88\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"112\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"112\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"112\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"112\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"112\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"112\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"112\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"136\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"136\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"136\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"136\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"136\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"136\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"136\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"160\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"160\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"160\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"160\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"160\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"160\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"160\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"184\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"184\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"184\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"184\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"184\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"184\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"184\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"208\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"208\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"208\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"208\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"208\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"208\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"208\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"232\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"232\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"232\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"232\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"232\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"232\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"232\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"256\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"256\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"256\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"256\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"256\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"256\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"256\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"280\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"280\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"280\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"280\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"280\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"280\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"280\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"304\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"304\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"304\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"304\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"304\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"304\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"304\" cy=\"158\" r=\"1.1\"/\u003e\u003c/g\u003e\u003cg class=\"cover-spin\" style=\"transform-origin:210.5px 83.5px\"\u003e\u003cpolygon points=\"228.8,83.5 227,86.1 226.3,88.6 226.2,91.4 225.5,94.4 224,96.9 221.6,98.7 219,100.2 216.5,101.8 213.8,104.1 210.5,106.6 206.6,108.1 202.8,107.4 199.9,104.4 198.7,99.8 198.8,95.2 199.1,91.8 198.1,89.8 195.5,88.4 191.9,86.4 188.8,83.5 187.5,79.8 188.3,76.2 190.5,73.3 193.2,70.8 195.7,68.6 198.1,66.4 200.9,64.5 204.2,63.8 207.6,64.6 210.5,66.6 212.9,68.6 215.1,69.4 218.1,68.7 222.2,67.4 227.1,66.9 23
21.4,68.3 233.8,71.6 233.5,76 231.4,80.2\" fill=\"url(#cv-ct-41y68y)\" class=\"cover-glow\"/\u003e\u003cpolygon points=\"245.3,83.5 241.9,88.4 240.6,93.2 240.2,98.6 239,104.2 236,109 231.6,112.4 226.7,115.2 221.9,118.4 216.8,122.8 210.5,127.5 203.1,130.3 195.8,129 190.3,123.2 188,114.4 188.3,105.7 188.8,99.3 187,95.5 182,92.8 175.2,89.1 169.3,83.5 166.8,76.5 168.3,69.7 172.5,64.1 177.5,59.5 182.3,55.2 186.9,51 192.2,47.4 198.4,46.1 204.9,47.7 210.5,51.5 215,55.2 219.2,56.7 224.8,55.4 232.7,52.9 242,52 250.2,54.6 254.7,61 254.3,69.3 250.2,77.2\" fill=\"none\" stroke=\"#FFFFFF\" stroke-width=\"1.6\" opacity=\"0.55\" stroke-linejoin=\"round\"/\u003e\u003cpolygon points=\"263.6,83.5 258.4,91 256.4,98.4 255.8,106.5 254,115 249.5,122.4 242.7,127.7 235.2,131.8 227.9,136.7 220,143.4 210.5,150.6 199.2,154.9 188,153 179.7,144 176.2,130.7 176.6,117.4 177.3,107.6 174.5,101.8 166.9,97.6 156.5,92 147.6,83.5 143.8,72.9 146,62.5 152.5,53.9 160.2,46.9 167.4,40.4 174.5,33.8 182.5,28.5 192,26.4 201.9,28.9 210.5,34.6 217.4,40.3 223.8,42.6 232.3,40.7 244.4,36.9 258.6,35.4 271.1,39.4 277.9,49.1 277.3,61.8 271.1,73.9\" fill=\"none\" stroke=\"#29ABFF\" stroke-width=\"2.4\" opacity=\"0.85\" stroke-linejoin=\"round\"/\u003e\u003cpolygon points=\"283.7,83.5 276.5,93.9 273.7,104 273,115.3 270.5,127 264.2,137.1 254.9,144.5 244.5,150.2 234.4,157 223.6,166.2 210.5,176.1 194.9,182 179.4,179.3 168,167 163.2,148.7 163.7,130.3 164.7,116.8 160.9,108.8 150.4,103 136.1,95.3 123.7,83.5 118.5,68.9 121.6,54.6 130.4,42.6 141.1,33 151.1,24 160.8,15 171.9,7.6 185,4.8 198.6,8.2 210.5,16.1 220,23.9 228.8,27.1 240.6,24.5 257.2,19.2 276.8,17.2 294.1,22.7 303.5,36.1 302.6,53.6 294.1,70.2\" fill=\"none\" stroke=\"#FFFFFF\" stroke-width=\"1.6\" opacity=\"0.3\" stroke-linejoin=\"round\"/\u003e\u003cpolygon points=\"305.7,83.5 296.3,97 292.7,110.2 291.7,124.8 288.5,140.1 280.3,153.2 268.2,162.8 254.7,170.2 241.6,179 227.6,191 210.5,203.9 190.3,211.5 170.1,208.1 155.2,192.1 149,168.2 149.6,144.4 150.9,126.8 146,116.4 132.4,108.9 113.7,98.8 97.7,83.5 90.8,64.5 94.9,45.9 106.4,30.4 120.2,17.8 133.2,6.2 145.9,-5.5 160.3,-15.1 177.3,-18.8 195,-14.4 210.5,-4.1 222.8,6.1 234.3,10.2 249.6,6.8 271.2,-0.1 296.7,-2.7 319.2,4.5 331.3,21.9 330.2,44.6 319.1,66.3\" fill=\"none\" stroke=\"#FFFFFF\" stroke-width=\"1.6\" opacity=\"0.18\" stroke-linejoin=\"round\"/\u003e\u003cpolygon points=\"329.5,83.5 317.7,100.4 313.2,116.8 312,135.2 308,154.2 297.8,170.7 282.6,182.6 265.8,191.9 249.3,202.9 231.8,217.9 210.5,234 185.2,243.5 159.9,239.2 141.4,219.2 133.6,189.4 134.4,159.6 136,137.6 129.9,124.6 112.8,115.2 89.5,102.6 69.5,83.5 60.9,59.8 66,36.5 80.3,17.1 97.6,1.4 113.9,-13.2 129.7,-27.8 147.8,-39.8 169,-44.4 191.2,-38.9 210.5,-26 225.9,-13.3 240.3,-8.1 259.4,-12.4 286.4,-20.9 318.3,-24.3 346.4,-15.2 361.5,6.5 360.1,34.9 346.3,62\" fill=\"none\" stroke=\"#9A76FF\" stroke-width=\"2\" opacity=\"0.45\" stroke-linejoin=\"round\"/\u003e\u003c/g\u003e\u003cg class=\"cover-orbit\" style=\"transform-origin:210.5px 83.5px\"\u003e\u003ccircle cx=\"213.3\" cy=\"31.5\" r=\"7\" fill=\"#FFFFFF\"/\u003e\u003c/g\u003e\u003crect x=\"57.4\" y=\"22\" width=\"12\" height=\"136\" rx=\"6\" fill=\"url(#cv-ct-41y68y)\"/\u003e\u003c/svg\u003e"])</script>
2<script>self.__next_f.push([1,"2f:[\"$\",\"article\",\"projects/peck-academy\",{\"className\":\"cover-motion-hover flex flex-col overflow-hidden rounded-xl border border-rule bg-paper transition duration-200 ease-out hover:-translate-y-0.5 hover:border-rule-strong hover:shadow-[0_10px_28px_rgba(22,24,29,0.07)]\",\"children\":[[\"$\",\"$L2\",null,{\"href\":\"/projects/peck-academy\",\"tabIndex\":-1,\"aria-hidden\":\"true\",\"className\":\"block aspect-video w-full overflow-hidden\",\"children\":[\"$\",\"div\",null,{\"className\":\"cover-art block h-full w-full\",\"dangerouslySetInnerHTML\":{\"__html\":\"$32\"}}]}],\"$L33\"]}]\n34:T1502,"])</script>
2<script>self.__next_f.push([1,"\u003csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 180\" preserveAspectRatio=\"xMidYMid slice\" role=\"img\" aria-hidden=\"true\" data-cover-style=\"circuit\" data-cover-variant=\"card\"\u003e\u003cdefs\u003e\u003clinearGradient id=\"cv-cc-co8tb8\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\"\u003e\u003cstop offset=\"0\" stop-color=\"#29ABFF\"/\u003e\u003cstop offset=\"1\" stop-color=\"#9A76FF\"/\u003e\u003c/linearGradient\u003e\u003c/defs\u003e\u003crect width=\"320\" height=\"180\" fill=\"#16181D\"/\u003e\u003cg fill=\"#FFFFFF\" opacity=\"0.06\"\u003e\u003ccircle cx=\"16\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"16\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"16\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"16\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"16\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"16\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"16\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"40\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"40\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"40\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"40\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"40\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"40\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"40\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"64\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"64\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"64\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"64\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"64\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"64\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"64\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"88\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"88\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"88\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"88\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"88\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"88\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"88\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"112\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"112\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"112\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"112\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"112\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"112\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"112\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"136\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"136\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"136\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"136\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"136\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"136\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"136\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"160\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"160\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"160\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"160\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"160\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"160\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"160\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"184\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"184\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"184\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"184\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"184\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"184\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"184\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"208\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"208\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"208\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"208\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"208\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"208\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"208\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"232\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"232\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"232\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"232\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"232\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"232\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"232\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"256\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"256\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"256\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"256\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"256\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"256\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"256\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"280\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"280\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"280\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"280\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"280\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"280\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"280\" cy=\"158\" r=\"1.1\"/\u003e\u003ccircle cx=\"304\" cy=\"14\" r=\"1.1\"/\u003e\u003ccircle cx=\"304\" cy=\"38\" r=\"1.1\"/\u003e\u003ccircle cx=\"304\" cy=\"62\" r=\"1.1\"/\u003e\u003ccircle cx=\"304\" cy=\"86\" r=\"1.1\"/\u003e\u003ccircle cx=\"304\" cy=\"110\" r=\"1.1\"/\u003e\u003ccircle cx=\"304\" cy=\"134\" r=\"1.1\"/\u003e\u003ccircle cx=\"304\" cy=\"158\" r=\"1.1\"/\u003e\u003c/g\u003e\u003cpolyline points=\"0,54.8 34,54.8 34,14 90,14\" fill=\"none\" stroke=\"#29ABFF\" stroke-width=\"2.4\" opacity=\"0.9\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/\u003e\u003cpolyline points=\"0,54.8 34,54.8 34,14 90,14\" pathLength=\"100\" class=\"cover-runner\" opacity=\"0\" style=\"animation-delay:0s\" fill=\"none\" stroke=\"#FFFFFF\" stroke-width=\"2.8\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/\u003e\u003ccircle cx=\"90\" cy=\"14\" r=\"4.5\" fill=\"#29ABFF\" class=\"cover-pulse\" style=\"animation-delay:0s\"/\u003e\u003crect x=\"-3\" y=\"51.8\" width=\"6\" height=\"6\" fill=\"#29ABFF\"/\u003e\u003cpolyline points=\"49.8,0 49.8,42 107.5,42 107.5,117.5\" fill=\"none\" stroke=\"#9A76FF\" stroke-width=\"2.4\" opacity=\"0.9\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/\u003e\u003cpolyline points=\"49.8,0 49.8,42 107.5,42 107.5,117.5\" pathLength=\"100\" class=\"cover-runner\" opacity=\"0\" style=\"animation-delay:1.1s\" fill=\"none\" stroke=\"#FFFFFF\" stroke-width=\"2.8\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/\u003e\u003ccircle cx=\"107.5\"
2cy=\"117.5\" r=\"4.5\" fill=\"#9A76FF\" class=\"cover-pulse\" style=\"animation-delay:0.9s\"/\u003e\u003crect x=\"46.8\" y=\"-3\" width=\"6\" height=\"6\" fill=\"#9A76FF\"/\u003e\u003cpolyline points=\"99.1,0 99.1,47.8 144.6,47.8 144.6,129 209.4,129\" fill=\"none\" stroke=\"#FFFFFF\" stroke-width=\"2.4\" opacity=\"0.9\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/\u003e\u003cpolyline points=\"99.1,0 99.1,47.8 144.6,47.8 144.6,129 209.4,129\" pathLength=\"100\" class=\"cover-runner\" opacity=\"0\" style=\"animation-delay:2.2s\" fill=\"none\" stroke=\"#FFFFFF\" stroke-width=\"2.8\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/\u003e\u003ccircle cx=\"209.4\" cy=\"129\" r=\"4.5\" fill=\"#FFFFFF\" class=\"cover-pulse\" style=\"animation-delay:1.9s\"/\u003e\u003crect x=\"96.1\" y=\"-3\" width=\"6\" height=\"6\" fill=\"#FFFFFF\"/\u003e\u003ccircle cx=\"228.6\" cy=\"71.5\" r=\"38.7\" fill=\"none\" stroke=\"#FFFFFF\" stroke-width=\"10\"/\u003e\u003crect x=\"58.7\" y=\"22\" width=\"12\" height=\"136\" rx=\"6\" fill=\"url(#cv-cc-co8tb8)\"/\u003e\u003c/svg\u003e"])</script>
2<script>self.__next_f.push([1,"30:[\"$\",\"article\",\"projects/devlinos\",{\"className\":\"cover-motion-hover flex flex-col overflow-hidden rounded-xl border border-rule bg-paper transition duration-200 ease-out hover:-translate-y-0.5 hover:border-rule-strong hover:shadow-[0_10px_28px_rgba(22,24,29,0.07)]\",\"children\":[[\"$\",\"$L2\",null,{\"href\":\"/projects/devlinos\",\"tabIndex\":-1,\"aria-hidden\":\"true\",\"className\":\"block aspect-video w-full overflow-hidden\",\"children\":[\"$\",\"div\",null,{\"className\":\"cover-art block h-full w-full\",\"dangerouslySetInnerHTML\":{\"__html\":\"$34\"}}]}],\"$L35\"]}]\n31:[\"$\",\"p\",null,{\"children\":[\"If your team needs custom work done, whether that is AI practice simulations, internal automation, or eLearning built around a specific performance problem, \",[\"$\",\"a\",null,{\"href\":\"/contact\",\"children\":\"get in touch\"}],\".\"]}]\n"])</script>
2<script>self.__next_f.push([1,"33:[\"$\",\"div\",null,{\"className\":\"flex flex-col p-5\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-[1.125rem] font-semibold leading-[1.3] tracking-[-0.005em]\",\"children\":[\"$\",\"$L2\",null,{\"href\":\"/projects/peck-academy\",\"className\":\"text-ink hover:text-blue-ink\",\"children\":\"Peck Academy\"}]}],[\"$\",\"p\",null,{\"className\":\"mt-1.5 text-[0.9375rem] leading-[1.5] text-ink-muted\",\"children\":\"A state-licensed career school built like an apprenticeship: simulated client work, AI practice conversations, and a portfolio that gets you hired.\"}]]}]\n35:[\"$\",\"div\",null,{\"className\":\"flex flex-col p-5\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-[1.125rem] font-semibold leading-[1.3] tracking-[-0.005em]\",\"children\":[\"$\",\"$L2\",null,{\"href\":\"/projects/devlinos\",\"className\":\"text-ink hover:text-blue-ink\",\"children\":\"DevlinOS\"}]}],[\"$\",\"p\",null,{\"className\":\"mt-1.5 text-[0.9375rem] leading-[1.5] text-ink-muted\",\"children\":\"The AI operating system that automates our toughest work and frees up the team to do what we do best.\"}]]}]\n"])</script>
2<script>self.__next_f.push([1,"27:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script>
2<script>self.__next_f.push([1,"36:I[414,[\"/_next/static/chunks/1fs4w-o8dumvk.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"/_next/static/chunks/20chkicxe5v_u.js?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\"],\"IconMark\"]\n24:null\n"])</script>
2<script>self.__next_f.push([1,"29:[[\"$\",\"title\",\"0\",{\"children\":\"Devlin Peck's Portfolio: devlin.ai, Peck Academy, and DevlinOS\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Devlin Peck's portfolio: devlin.ai, Peck Academy, and DevlinOS. The AI simulation builder, career school, and internal AI systems my team and I are building, and the thinking behind them.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"canonical\",\"href\":\"https://www.devlinpeck.com/portfolio\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:title\",\"content\":\"Devlin Peck's Portfolio: devlin.ai, Peck Academy, and DevlinOS\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:description\",\"content\":\"Devlin Peck's portfolio: devlin.ai, Peck Academy, and DevlinOS. The AI simulation builder, career school, and internal AI systems my team and I are building, and the thinking behind them.\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:url\",\"content\":\"https://www.devlinpeck.com/portfolio\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:site_name\",\"content\":\"Devlin Peck\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:image\",\"content\":\"https://www.devlinpeck.com/og/portrait/portfolio\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"9\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"10\",{\"name\":\"twitter:title\",\"content\":\"Devlin Peck's Portfolio: devlin.ai, Peck Academy, and DevlinOS\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:description\",\"content\":\"Devlin Peck's portfolio: devlin.ai, Peck Academy, and DevlinOS. The AI simulation builder, career school, and internal AI systems my team and I are building, and the thinking behind them.\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:image\",\"content\":\"https://www.devlinpeck.com/og/portrait/portfolio\"}],[\"$\",\"link\",\"13\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.24dfi_eeislfn.ico?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"sizes\":\"48x48\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"14\",{\"rel\":\"icon\",\"href\":\"/icon.svg?icon.2_pv0_8v9f6oa.svg?dpl=dpl_HtTM39vBn35RHmLy1JVcKH1Szequ\",\"sizes\":\"any\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L36\",\"15\",{}]]\n"])</script>
2</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.