PageSourceSearch

https://www.connorlove.com/articles

html connorlove.com collected 2026-10-06 13:35:39 UTC 32,009 bytes, 1 lines download raw bytes

1<!DOCTYPE html><html lang="en-US"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta http-equiv="x-dns-prefetch-control" content="off"/><meta name="robots" content="index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1"/><meta name="googlebot" content="index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1"/><meta name="bingbot" content="index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="author" content="Connor Love"/><meta name="application-name" content="Connor Love"/><meta name="referrer" content="strict-origin-when-cross-origin"/><meta name="format-detection" content="telephone=no"/><meta http-equiv="content-language" content="en-US"/><meta name="geo.region" content="US-OH"/><meta name="geo.placename" content="Columbus, Ohio"/><meta name="coverage" content="Columbus, Ohio; Central Ohio; Ohio; United States; Worldwide"/><meta name="description" content="Notes on web development, artificial intelligence, design, and building thoughtful digital products."/><link rel="canonical" href="https://www.connorlove.com/articles"/><link rel="alternate" hrefLang="en-US" href="https://www.connorlove.com/articles"/><link rel="alternate" hrefLang="x-default" href="https://www.connorlove.com/articles"/><link rel="alternate" type="application/rss+xml" title="Connor Love — Articles" href="https://www.connorlove.com/articles/feed.xml"/><link rel="author" href="https://www.connorlove.com/"/><title>Articles on Design &amp; Development | Connor Love</title><meta property="og:image" content="https://www.connorlove.com/og.png"/><meta property="og:image:secure_url" content="https://www.connorlove.com/og.png"/><meta property="og:image:alt" content="Connor Love, Freelance Web Developer in Columbus, Ohio"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:locale" content="en_US"/><meta property="og:site_name" content="Connor Love"/><meta property="og:type" content="website"/><meta property="og:title" content="Articles on Design &amp; Development | Connor Love"/><meta property="og:description" content="Notes on web development, artificial intelligence, design, and building thoughtful digital products."/><meta property="og:url" content="https://www.connorlove.com/articles"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Articles on Design &amp; Development | Connor Love"/><meta name="twitter:description" content="Notes on web development, artificial intelligence, design, and building thoughtful digital products."/><meta name="twitter:image" content="https://www.connorlove.com/og.png"/><meta name="twitter:image:alt" content="Connor Love, Freelance Web Developer in Columbus, Ohio"/><meta name="twitter:site" content="@cando145"/><meta name="twitter:creator" content="@cando145"/><link rel="icon" href="/favicon.ico"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/><link rel="manifest" href="/site.webmanifest"/><link rel="alternate" type="text/plain" href="https://www.connorlove.com/llms.txt" title="AI-readable site summary"/><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#333333"/><meta name="msapplication-TileColor" content="#f8e9cc"/><meta name="theme-color" content="#f8e9cc"/>
1<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://www.connorlove.com/#person","name":"Connor Love","jobTitle":"Freelance Web Developer","description":"Connor Love is a freelance web developer based in Columbus, Ohio.","url":"https://www.connorlove.com","image":"https://www.connorlove.com/connor/front.webp","email":"[email protected]","worksFor":{"@id":"https://www.connorlove.com/#professional-service"},"address":{"@type":"PostalAddress","addressLocality":"Columbus","addressRegion":"OH","addressCountry":"US"},"knowsAbout":["Web development","Frontend development","Web applications","React","Next.js","Three.js","Accessible web development","Web performance","Interaction design"],"knowsLanguage":"en-US","sameAs":["https://www.linkedin.com/in/loveconnor/","https://github.com/loveconnor","https://twitter.com/cando145","https://www.instagram.com/connorlove__/"]},{"@type":"ProfessionalService","@id":"https://www.connorlove.com/#professional-service","name":"Connor Love","url":"https://www.connorlove.com","image":"https://www.connorlove.com/og.png","logo":"https://www.connorlove.com/icon.png","email":"[email protected]","founder":{"@id":"https://www.connorlove.com/#person"},"address":{"@type":"PostalAddress","addressLocality":"Columbus","addressRegion":"OH","addressCountry":"US"},"areaServed":[{"@type":"City","name":"Columbus"},{"@type":"Place","name":"Central Ohio"},{"@type":"State","name":"Ohio"},{"@type":"Country","name":"United States"},{"@type":"Place","name":"Worldwide"}],"description":"Connor Love is a freelance web developer in Columbus, Ohio, building custom websites, web applications, and interactive product experiences.","sameAs":["https://www.linkedin.com/in/loveconnor/","https://github.com/loveconnor","https://twitter.com/cando145","https://www.instagram.com/connorlove__/"]},{"@type":"WebSite","@id":"https://www.connorlove.com/#website","url":"https://www.connorlove.com","name":"Connor Love","alternateName":"Connor Love Portfolio","publisher":{"@id":"https://www.connorlove.com/#professional-service"},"inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https://www.connorlove.com/articles#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.connorlove.com"},{"@type":"ListItem","position":2,"name":"Articles","item":"https://www.connorlove.com/articles"}]},{"@type":"CollectionPage","@id":"https://www.connorlove.com/articles#webpage","url":"https://www.connorlove.com/articles","name":"Articles on Design & Development | Connor Love","description":"Notes on web development, artificial intelligence, design, and building thoughtful digital products.","isPartOf":{"@id":"https://www.connorlove.com/#website"},"breadcrumb":{"@id":"https://www.connorlove.com/articles#breadcrumb"},"mainEntity":{"@id":"https://www.connorlove.com/articles#blog"},"hasPart":{"@id":"https://www.connorlove.com/articles#article-list"},"inLanguage":"en-US"},{"@type":"Blog","@id":"https://www.connorlove.com/articles#blog","url":"https://www.connorlove.com/articles","name":"Connor Love Articles","description":"Notes on web development, artificial intelligence, design, and building thoughtful digital products.","publisher":{"@id":"https://www.connorlove.com/#professional-service"},"mainEntityOfPage":{"@id":"https://www.connorlove.com/articles#webpage"},"blogPost":[{"@type":"BlogPosting","@id":"https://www.connorlove.com/articles/a-portfolio-you-can-walk-into#article","url":"https://www.connorlove.com/articles/a-portfolio-you-can-walk-into","headline":"A portfolio you can walk into","description":"Why I built a 3D room portfolio, how Three.js and React work together, and the small interactions that make my real desk setup explorable.","datePublished":"2026-09-10","dateModified":"2026-09-10","image":"https://www.connorlove.com/articles/room/cover.jpg","author":{"@id":"https://www.connorlove.com/#person"},"articleSection":"Three.js","keywords":["Three.js","Web development","Interaction design"]},{"@type":"BlogPosting","@id":"https://www.connorlove.com/articles/i-built-my-own-tokenizer#article","url":"https://www.connorlove.com/articles/i-built-my-own-tokenizer","headline":"I Built My Own Tokenizer. It Came First in My Benchmark.","description":"I built a byte-lossless Unigram tokenizer, created an interactive app to show how it works, and tested it against nine pinned baselines.","datePublished":"2026-07-22","dateModified":"2026-07-22","image":"https://www.connorlove.com/articles/i-built-my-own-tokenizer-og.png","author":{"@id":"https://www.connorlove.com/#person"},"articleSection":"Artificial Intelligence","keywords":["Artificial Intelligence","Tokenization","Natural Language Processing","Machine Learning"]},{"@type":"BlogPosting","@id":"https://www.connorlove.com/articles/internet-starting-to-look-the-same#article","url":"https://www.connorlove.com/articles/internet-starting-to-look-the-same","headline":"The Internet Is Starting to Look the Same","description":"Modern websites have never been easier to make polished. So why do so many feel forgettable? The answer is not fewer tools, but stronger choices.","datePublished":"2026-07-17","dateModified":"2026-07-17","image":"https://www.connorlove.com/articles/internet-starting-to-look-the-same-og.png","author":{"@id":"https://www.connorlove.com/#person"},"articleSection":"Web Design","keywords":["Web Design","Creative Development","Artificial Intelligence","Product Thinking"]},{"@type":"BlogPosting","@id":"https://www.connorlove.com/articles/web-developer-age-of-ai#article","url":"https://www.connorlove.com/articles/web-developer-age-of-ai","headline":"When Code Becomes Cheap, Judgment Becomes Valuable","description":"AI can produce co
1de faster than ever. The web developers who thrive next will be the ones who know what to build, how to judge it, and when it is truly ready.","datePublished":"2026-07-14","dateModified":"2026-07-14","image":"https://www.connorlove.com/articles/web-developer-age-of-ai-og.png","author":{"@id":"https://www.connorlove.com/#person"},"articleSection":"Web Development","keywords":["Web Development","Artificial Intelligence","Career","Product Thinking"]}],"inLanguage":"en-US"},{"@type":"ItemList","@id":"https://www.connorlove.com/articles#article-list","name":"Connor Love articles","numberOfItems":4,"itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https://www.connorlove.com/articles/a-portfolio-you-can-walk-into#article"}},{"@type":"ListItem","position":2,"item":{"@id":"https://www.connorlove.com/articles/i-built-my-own-tokenizer#article"}},{"@type":"ListItem","position":3,"item":{"@id":"https://www.connorlove.com/articles/internet-starting-to-look-the-same#article"}},{"@type":"ListItem","position":4,"item":{"@id":"https://www.connorlove.com/articles/web-developer-age-of-ai#article"}}]}]}</script>
1<meta name="next-head-count" content="51"/><meta name="google-site-verification" content="_GxugHkYj4_FXIf1a7C_V27nz6byPmPrtgf8jIC4HfY"/><link rel="preload" href="/fonts/LoveSans-Regular.woff" as="font" type="font/woff" crossorigin="anonymous"/><link rel="preload" href="/fonts/LoveSans-Medium.woff" as="font" type="font/woff" crossorigin="anonymous"/><link rel="preload" href="/fonts/LoveSans-Bold.woff" as="font" type="font/woff" crossorigin="anonymous"/><link rel="preload" href="/_next/static/media/68180864d7f93f02.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font=""/><link rel="preload" href="/_next/static/media/1755441e3a2fa970-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/630c17af355fa44e-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/3b38c8b4cc88fd65.css" as="style"/><link rel="stylesheet" href="/_next/static/css/3b38c8b4cc88fd65.css" data-n-g=""/><link rel="preload" href="/_next/static/css/2e04d1e52542b5fa.css" as="style"/><link rel="stylesheet" href="/_next/static/css/2e04d1e52542b5fa.css" data-n-p=""/><noscript data-n-css=""></noscript>
1<script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script>
1<script src="/_next/static/chunks/webpack-e7b68814447f7b39.js" defer=""></script>
1<script src="/_next/static/chunks/framework-06b7b33409802422.js" defer=""></script>
1<script src="/_next/static/chunks/main-bbffbf57667a37fe.js" defer=""></script>
1<script src="/_next/static/chunks/pages/_app-d5680a53d68d2533.js" defer=""></script>
1<script src="/_next/static/chunks/644-7f6663f9efccfc60.js" defer=""></script>
1<script src="/_next/static/chunks/770-eda2fa6b39cb5f1f.js" defer=""></script>
1<script src="/_next/static/chunks/pages/articles-a8e2648ffc18cb73.js" defer=""></script>
1<script src="/_next/static/5htp5DeTty_1RtiimaeNQ/_buildManifest.js" defer=""></script>
1<script src="/_next/static/5htp5DeTty_1RtiimaeNQ/_ssgManifest.js" defer=""></script>
1</head><body><div id="__next"><div class="app_root__CIxIS __variable_ee04dc __variable_c85df0 __variable_ea7542"><div id="loader" class="loader_root__8gquB layout-block-inner"><div class="loader_innerContainer__HUqPe"><div class="loader_fullNameContainer__nRqoa"><div class="loader_fullName__BmpAy h2">Connor Love</div></div><div class="loader_shortNameContainer__eQA3M"><div class="loader_shortName__UMMdc h2">Call me Connor</div></div><div class="loader_progressContainer__2B8pC"><div class="loader_progress__jBBk8 h1">0%</div></div></div></div><div class="app_background__3Pqaf"><div style="position:relative;width:100%;height:100%;overflow:hidden;pointer-events:auto"><div style="width:100%;height:100%"><canvas style="display:block"></canvas></div></div></div><div id="scrollbar" class="scrollbar_scrollbar__ytmpT" aria-hidden="true"><div class="scrollbar_inner__0uUXI"></div></div><nav id="menu" class="menuLinks_menu__Pitki"><div data-lenis-prevent="true" data-lenis-prevent-touch="true" class="menuLinks_menuWrapper__FGdxP layout-block-inner"><div class="menuLinks_menuList__Vhw2z"><div class="menuLinks_menuListItem__Qbh_w"><a aria-label="Go Home" href="/"><span>Home</span></a></div><div class="menuLinks_menuListItem__Qbh_w"><a aria-label="Go About me" href="/about"><span>About me</span></a></div><div class="menuLinks_menuListItem__Qbh_w"><a aria-label="Go Projects" href="/projects"><span>Projects</span></a></div><div class="menuLinks_menuListItem__Qbh_w menuLinks_menuListItemActive__Pphf5"><a aria-label="Go Articles" href="/articles"><span>Articles</span></a></div><div class="menuLinks_menuListItem__Qbh_w"><span role="button" tabindex="0">Contact</span></div></div><div class="menuLinks_menuList__Vhw2z"><div class="menuLinks_menuListItem__Qbh_w"><a aria-label="Go HonestUI" href="/projects/honestui"><span>HonestUI</span></a></div><div class="menuLinks_menuListItem__Qbh_w"><a aria-label="Go Clove Colors" href="/projects/clove-colors"><span>Clove Colors</span></a></div><div class="menuLinks_menuListItem__Qbh_w"><a aria-label="Go Tokenizer" href="/projects/tokenizer"><span>Tokenizer</span></a></div></div><div class="menuLinks_menuList__Vhw2z"><div role="presentation" class="menuLinks_menuListItem__Qbh_w"><a aria-label="Book a call" href="https://cal.com/loveconnor" target="_blank" rel="noopener noreferrer"><span>BOOK A CALL</span></a></div></div><div class="menuLinks_menuList__Vhw2z"><div class="menuLinks_menuListItem__Qbh_w"><a aria-label="Find me on Github" target="_blank" rel="noopener noreferrer" href="https://github.com/loveconnor"><span>Github</span></a></div><div class="menuLinks_menuListItem__Qbh_w"><a aria-label="Find me on LinkedIn" target="_blank" rel="noopener noreferrer" href="https://www.linkedin.com/in/loveconnor"><span>LinkedIn</span></a></div><div class="menuLinks_menuListItem__Qbh_w"><a aria-label="Find me on Instagram" target="_blank" rel="noopener noreferrer" href="https://www.instagram.com/connorlove__/"><span>Instagram</span></a></div><div class="menuLinks_menuListItem__Qbh_w"><a aria-label="Find me on Twitter" target="_blank" rel="noopener noreferrer" href="https://twitter.com/cando145"><span>Twitter</span></a></div></div><button type="button" aria-label="Close menu" class="menuLinks_menuClose__cP4YF"><p>✕</p></button></div></nav><header class="styles_root__E_BhR" role="banner"><div class="styles_innerHeader___7yW2"><a aria-label="Go home" href="/"><span class="bold h4">CONNOR</span></a><div class="styles_rightContainer__n0Mv9"><a target="_blank" rel="noopener noreferrer" aria-label="BOOK A CALL" href="https://cal.com/loveconnor" class="p-xs buttonLink_btnPosnawr__CNjFx"><span class="p-x buttonLink_labelClassic__aHoA6">BOOK A CALL</span><svg class="buttonLink_arrowClassic__Slo_3" viewBox="0 0 26 27" xmlns="http://www.w3.org/2000/svg"><path d="M23.2338 12.28L14.7538 20.8V0.239998H11.3538V20.76L2.87375 12.28L0.59375 14.56L13.0738 27L25.5138 14.56L23.2338 12.28Z"></path></svg><span class="buttonLink_ball__aTBoa"></span></a><a href="https://room.connorlove.com" class="p-xs menuButton_button__BA6ZV styles_deskLink__OojEX"><span class="p-x menuButton_label__IJwbs">View in 3D</span></a><button type="button" aria-label="Open Menu" aria-expanded="false" aria-controls="menu" class="p-xs menuButton_button__BA6ZV"><div class="perspectiveText_root__Ncs_Y"><div class="p-x menuButton_label__IJwbs perspectiveText_perspectiveText__fVDC2"><p>Menu</p><p>Menu</p></div></div></button></div></div></header><div id="layout" class="app_layout__eWQlV"><div style="position:relative;width:100%;height:100%;overflow:hidden;pointer-events:auto;z-index:0" class="app_canvasContainer__drRA_"><div style="width:100%;height:100%"><canvas style="display:block"></canvas></div></div><div style="position:relative;width:100%;height:100%;overflow:hidden;pointer-events:auto;mix-blend-mode:difference;background:black" id="fluidCanvas" class="app_canvasContainer__drRA_"><div style="width:100%;height:100%"><canvas style="display:block"></canvas></div></div><main class="app_main__yf5R5"><div id="mainContainer" class="app_mainContainer__VYKuP"><section class="articles_hero__IHaBx layout-grid-inner"><p class="articles_eyebrow__AqMgC p-x">Notes on design &amp; development</p><h1 class="articles_pageTitle__yoT_V h1">Articles</h1><p class="articles_intro__ph5Oh h5">Ideas, experiments, and practical lessons from making digital products for the web.</p></section><section class="articles_archive__Tmmec layout-grid-inner" aria-label="Article ar
1chive"><div class="articles_archiveHeader__ODXC_"><div class="articles_archiveActions__AjUUP"><div class="articles_filter__rU_7w"><span class="p-x">Filter by topic</span><button type="button" class="articles_topicTrigger__SMC2e p-x" aria-label="Filter articles by topic" id="radix-:R15pt6:" aria-haspopup="menu" aria-expanded="false" data-state="closed"><span>All topics</span><span class="articles_chevron__ZhGAW" aria-hidden="true"><svg viewBox="0 0 20 20"><path d="m5 7.5 5 5 5-5"></path></svg></span></button></div><a aria-label="RSS FEED" href="/articles/feed.xml" class="p-xs buttonLink_btnPosnawr__CNjFx"><span class="p-x buttonLink_labelClassic__aHoA6">RSS FEED</span><svg class="buttonLink_arrowClassic__Slo_3" viewBox="0 0 26 27" xmlns="http://www.w3.org/2000/svg"><path d="M23.2338 12.28L14.7538 20.8V0.239998H11.3538V20.76L2.87375 12.28L0.59375 14.56L13.0738 27L25.5138 14.56L23.2338 12.28Z"></path></svg><span class="buttonLink_ball__aTBoa"></span></a></div></div><div class="articles_articleList___zImL"><article><a class="articles_articleRow__Nw7R8" aria-label="Read A portfolio you can walk into" href="/articles/a-portfolio-you-can-walk-into"><div class="articles_articleDetails__XwzfO"><time class="p-x" dateTime="2026-09-10">September 10, 2026</time><p class="articles_author__e6LQS p-x">By <!-- -->Connor Love</p></div><div class="articles_articleCopy__PBMey"><p class="articles_tags__X2Gb2 p-x">Three.js · Web development · Interaction design</p><h2 class="articles_articleTitle__Xf5pc h4">A portfolio you can walk into</h2><p class="articles_articleDescription__0xJDh p-l">Why I built a 3D room portfolio, how Three.js and React work together, and the small interactions that make my real desk setup explorable.</p><span class="articles_readLink__Ocw8I p-x">Read article <span aria-hidden="true">↗</span></span></div></a></article><article><a class="articles_articleRow__Nw7R8" aria-label="Read I Built My Own Tokenizer. It Came First in My Benchmark." href="/articles/i-built-my-own-tokenizer"><div class="articles_articleDetails__XwzfO"><time class="p-x" dateTime="2026-07-22">July 22, 2026</time><p class="articles_author__e6LQS p-x">By <!-- -->Connor Love</p></div><div class="articles_articleCopy__PBMey"><p class="articles_tags__X2Gb2 p-x">Artificial Intelligence · Tokenization · Natural Language Processing · Machine Learning</p><h2 class="articles_articleTitle__Xf5pc h4">I Built My Own Tokenizer. It Came First in My Benchmark.</h2><p class="articles_articleDescription__0xJDh p-l">I built a byte-lossless Unigram tokenizer, created an interactive app to show how it works, and tested it against nine pinned baselines.</p><span class="articles_readLink__Ocw8I p-x">Read article <span aria-hidden="true">↗</span></span></div></a></article><article><a class="articles_articleRow__Nw7R8" aria-label="Read The Internet Is Starting to Look the Same" href="/articles/internet-starting-to-look-the-same"><div class="articles_articleDetails__XwzfO"><time class="p-x" dateTime="2026-07-17">July 17, 2026</time><p class="articles_author__e6LQS p-x">By <!-- -->Connor Love</p></div><div class="articles_articleCopy__PBMey"><p class="articles_tags__X2Gb2 p-x">Web Design · Creative Development · Artificial Intelligence · Product Thinking</p><h2 class="articles_articleTitle__Xf5pc h4">The Internet Is Starting to Look the Same</h2><p class="articles_articleDescription__0xJDh p-l">Modern websites have never been easier to make polished. So why do so many feel forgettable? The answer is not fewer tools, but stronger choices.</p><span class="articles_readLink__Ocw8I p-x">Read article <span aria-hidden="true">↗</span></span></div></a></article><article><a class="articles_articleRow__Nw7R8" aria-label="Read When Code Becomes Cheap, Judgment Becomes Valuable" href="/articles/web-developer-age-of-ai"><div class="articles_articleDetails__XwzfO"><time class="p-x" dateTime="2026-07-14">July 14, 2026</time><p class="articles_author__e6LQS p-x">By <!-- -->Connor Love</p></div><div class="articles_articleCopy__PBMey"><p class="articles_tags__X2Gb2 p-x">Web Development · Artificial Intelligence · Career · Product Thinking</p><h2 class="articles_articleTitle__Xf5pc h4">When Code Becomes Cheap, Judgment Becomes Valuable</h2><p class="articles_articleDescription__0xJDh p-l">
1AI can produce code faster than ever. The web developers who thrive next will be the ones who know what to build, how to judge it, and when it is truly ready.</p><span class="articles_readLink__Ocw8I p-x">Read article <span aria-hidden="true">↗</span></span></div></a></article></div></section><section class="preFooter_root__Zxcjj layout-block-inner"><div class="preFooter_textsContainer__FemcE"><div><h2 class="h1">Let&#x27;s build something</h2><h2 class="h1"> real for the web</h2><h2 class="h1"> together.</h2></div><div><p class="h6">Have a project in mind? Let&#x27;s talk.</p></div></div><div class="preFooter_canvas__vrQAz"><div style="position:relative;width:100%;height:100%;overflow:hidden;pointer-events:auto;display:block;background-color:transparent;border-radius:1.3888888889vw"><div style="width:100%;height:100%"><canvas style="display:block"></canvas></div></div></div></section><footer class="layout_footer__I5bXP"><section class="footer_root__s8jc0 layout-grid-inner" role="contentinfo"><div style="grid-column:1 / 5" class="footer_linksContainer__T7A5C"><div class="appearTitle_titleFooter__eMg91 appearTitle_notVisibleFooter__bOFzc"><p class="footer_title__gNhmS h6">Sitemap</p><div class="footer_linkTextContainer__eysg2"><a aria-label="Go Home" class="footer_linkText__nKx6n linkText_root__m0DpP" href="/"><div><svg viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.2338 12.28L14.7538 20.8V0.239998H11.3538V20.76L2.87375 12.28L0.59375 14.56L13.0738 27L25.5138 14.56L23.2338 12.28Z"></path></svg><span><div><span class="footer">Home</span></div></span></div></a></div><div class="footer_linkTextContainer__eysg2"><a aria-label="Go About me" class="footer_linkText__nKx6n linkText_root__m0DpP" href="/about"><div><svg viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.2338 12.28L14.7538 20.8V0.239998H11.3538V20.76L2.87375 12.28L0.59375 14.56L13.0738 27L25.5138 14.56L23.2338 12.28Z"></path></svg><span><div><span class="footer">About me</span></div></span></div></a></div><div class="footer_linkTextContainer__eysg2"><a aria-label="Go Projects" class="footer_linkText__nKx6n linkText_root__m0DpP" href="/projects"><div><svg viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.2338 12.28L14.7538 20.8V0.239998H11.3538V20.76L2.87375 12.28L0.59375 14.56L13.0738 27L25.5138 14.56L23.2338 12.28Z"></path></svg><span><div><span class="footer">Projects</span></div></span></div></a></div><div class="footer_linkTextContainer__eysg2"><a aria-label="Go Articles" class="footer_linkText__nKx6n linkText_root__m0DpP" href="/articles"><div><svg viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.2338 12.28L14.7538 20.8V0.239998H11.3538V20.76L2.87375 12.28L0.59375 14.56L13.0738 27L25.5138 14.56L23.2338 12.28Z"></path></svg><span><div><span class="footer">Articles</span></div></span></div></a></div></div></div><div style="grid-column:5 / 9" class="footer_linksContainer__T7A5C"><div class="appearTitle_titleFooter__eMg91 appearTitle_notVisibleFooter__bOFzc"><p class="footer_title__gNhmS h6">Follow me</p><div class="footer_linkTextContainer__eysg2"><a aria-label="Go Github" target="_blank" rel="noopener noreferrer" class="footer_linkText__nKx6n linkText_root__m0DpP" href="https://github.com/loveconnor"><div><svg viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.2338 12.28L14.7538 20.8V0.239998H11.3538V20.76L2.87375 12.28L0.59375 14.56L13.0738 27L25.5138 14.56L23.2338 12.28Z"></path></svg><span><div><span class="footer">Github</span></div></span></div></a></div><div class="footer_linkTextContainer__eysg2"><a aria-label="Go LinkedIn" target="_blank" rel="noopener noreferrer" class="footer_linkText__nKx6n linkText_root__m0DpP" href="https://www.linkedin.com/in/loveconnor"><div><svg viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.2338 12.28L14.7538 20.8V0.239998H11.3538V20.76L2.87375 12.28L0.59375 14.56L13.0738 27L25.5138 14.56L23.2338 12.28Z"></path></svg><span><div><span class="footer">LinkedIn</span></div></span></div></a></div><div class="footer_linkTextContainer__eysg2"><a aria-label="Go Instagram" target="_blank" rel="noopener noreferrer" class="footer_linkText__nKx6n linkText_root__m0DpP" href="https://www.instagram.com/connorlove__/"><div><svg viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.2338 12.28L14.7538 20.8V0.239998H11.3538V20.76L2.87375 12.28L0.59375 14.56L13.0738 27L25.5138 14.56L23.2338 12.28Z"></path></svg><span><div><span class="footer">Instagram</span></div></span></div></a></div><div class="footer_linkTextContainer__eysg2"><a aria-label="Go Twitter" target="_blank" rel="noopener noreferrer" class="footer_linkText__nKx6n linkText_root__m0DpP" href="https://twitter.com/cando145"><div><svg viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.2338 12.28L14.7538 20.8V0.239998H11.3538V20.76L2.87375 12.28L0.59375 14.56L13.0738 27L25.5138 14.56L23.2338 12.28Z"></path></svg><span><div><span class="footer">Twitter</span></div></span></div></a></div></div></div><div class="footer_emailContaineer__Ar2UR"><div class="appearTitle_titleFooter__eMg91 appearTitle_notVisibleFooter__bOFzc"><p class="footer_workWithMe__Q4dDg h4">Work With Me:</p><div><div class="footer_link__vJ4hm"><a aria-label="Send email" href="mailto:[email protected]"><span class="footer_email__mb5rC h4">[email protected]</span></a><svg class="footer_linkGraphic__CQ964" width="300%" height="100%" viewB
1ox="0 0 1200 60" preserveAspectRatio="none"><path d="M0,56.5c0,0,298.666,0,399.333,0C448.336,56.5,513.994,46,597,46c77.327,0,135,10.5,200.999,10.5c95.996,0,402.001,0,402.001,0"></path></svg></div></div></div></div><div class="footer_middleContainer__QRvHD" style="grid-column:1 / 9"><div class="appearTitle_titleFooter__eMg91 appearTitle_notVisibleFooter__bOFzc"><div class="p-x">Connor Love — Freelance Web Developer</div><div class="p-x footer_middleText__o7Dp7">Columbus, Ohio · Current time: </div></div></div><div class="footer_middleContainer__QRvHD" style="grid-column:9 / 13"><div class="appearTitle_titleFooter__eMg91 appearTitle_notVisibleFooter__bOFzc"><div class="p-x">Availability</div><div class="p-x footer_middleText__o7Dp7">Currently available for limited projects</div></div></div><div class="footer_middleContainer__QRvHD" style="grid-column:13 / 17;text-align:right"><div class="appearTitle_titleFooter__eMg91 appearTitle_notVisibleFooter__bOFzc"><div class="p-x">© 2026 · Connor Love</div><div class="p-x footer_middleText__o7Dp7">All Rights Reserved</div></div></div><div class="footer_connor__uF5gr"><span>CONNOR</span></div><div class="footer_goToTop__VApPt"></div></section></footer></div></main></div></div></div>
1<script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"articles":[{"slug":"a-portfolio-you-can-walk-into","title":"A portfolio you can walk into","subtitle":"My actual desk, the books I learned from, and a computer you can use inside a 3D room.","description":"Why I built a 3D room portfolio, how Three.js and React work together, and the small interactions that make my real desk setup explorable.","author":"Connor Love","tags":["Three.js","Web development","Interaction design"],"category":"Three.js","dateReleased":"2026-09-10","dateModified":"2026-09-10","readingTime":7,"wordCount":1514,"ogImage":"/articles/room/cover.jpg"},{"slug":"i-built-my-own-tokenizer","title":"I Built My Own Tokenizer. It Came First in My Benchmark.","subtitle":"Why I built a byte-lossless Unigram tokenizer and how I tested it","description":"I built a byte-lossless Unigram tokenizer, created an interactive app to show how it works, and tested it against nine pinned baselines.","author":"Connor Love","tags":["Artificial Intelligence","Tokenization","Natural Language Processing","Machine Learning"],"category":"Artificial Intelligence","dateReleased":"2026-07-22","dateModified":"2026-07-22","readingTime":6,"wordCount":1276,"ogImage":"/articles/i-built-my-own-tokenizer-og.png"},{"slug":"internet-starting-to-look-the-same","title":"The Internet Is Starting to Look the Same","subtitle":"Why polished websites are becoming interchangeable—and how to make digital experiences feel specific again","description":"Modern websites have never been easier to make polished. So why do so many feel forgettable? The answer is not fewer tools, but stronger choices.","author":"Connor Love","tags":["Web Design","Creative Development","Artificial Intelligence","Product Thinking"],"category":"Web Design","dateReleased":"2026-07-17","dateModified":"2026-07-17","readingTime":11,"wordCount":2396,"ogImage":"/articles/internet-starting-to-look-the-same-og.png"},{"slug":"web-developer-age-of-ai","title":"When Code Becomes Cheap, Judgment Becomes Valuable","subtitle":"What it means to be a web developer in the age of AI","description":"AI can produce code faster than ever. The web developers who thrive next will be the ones who know what to build, how to judge it, and when it is truly ready.","author":"Connor Love","tags":["Web Development","Artificial Intelligence","Career","Product Thinking"],"category":"Web Development","dateReleased":"2026-07-14","dateModified":"2026-07-14","readingTime":9,"wordCount":1779,"ogImage":"/articles/web-developer-age-of-ai-og.png"}]},"__N_SSG":true},"page":"/articles","query":{},"buildId":"5htp5DeTty_1RtiimaeNQ","isFallback":false,"gsp":true,"scriptLoader":[]}</script>
1</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.