PageSourceSearch

https://timforkin.com/

html timforkin.com collected 2026-10-06 18:42:46 UTC 16,115 bytes, 1 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><link rel="stylesheet" href="/_next/static/css/02da2cb6bf34093a.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-886dfb12b9c41e4d.js"/>
1<script src="/_next/static/chunks/4bd1b696-182b6b13bdad92e3.js" async=""></script>
1<script src="/_next/static/chunks/1255-a7b3b230c41c3275.js" async=""></script>
1<script src="/_next/static/chunks/main-app-b7ac91ae224968d9.js" async=""></script>
1<script src="/_next/static/chunks/1383-8d294cc912b73e03.js" async=""></script>
1<script src="/_next/static/chunks/9779-d6ea715ed8141685.js" async=""></script>
1<script src="/_next/static/chunks/2619-b8db57ac19da49ac.js" async=""></script>
1<script src="/_next/static/chunks/app/layout-6628a6e0885956b1.js" async=""></script>
1<script src="/_next/static/chunks/a4634e51-3441b489f58918bf.js" async=""></script>
1<script src="/_next/static/chunks/4988-0a565feebc9702f0.js" async=""></script>
1<script src="/_next/static/chunks/9949-dde702e3b9b651bd.js" async=""></script>
1<script src="/_next/static/chunks/app/page-64325452869bad37.js" async=""></script>
1<link rel="preconnect" href="https://use.typekit.net" crossorigin=""/><link rel="preconnect" href="https://p.typekit.net" crossorigin=""/><title>Tim Forkin</title><meta name="description" content="Making cool internet things."/><link rel="canonical" href="https://timforkin.com"/><meta property="og:title" content="Tim Forkin"/><meta property="og:description" content="Making cool internet things."/><meta property="og:url" content="https://timforkin.com"/><meta property="og:site_name" content="Tim Forkin"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://timforkin.com/og.png"/><meta property="og:image:width" content="1024"/><meta property="og:image:height" content="537"/><meta property="og:image:alt" content="Tim Forkin"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Tim Forkin"/><meta name="twitter:description" content="Making cool internet things."/><meta name="twitter:image" content="https://timforkin.com/og.png"/><link rel="stylesheet" href="https://use.typekit.net/tjd3zvh.css"/>
1<script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script>
1</head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div>
1<script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script>
1<div class="min-h-screen bg-surface"><div class="room-shell relative h-svh w-full overflow-hidden bg-[#120f0d]"><canvas id="unity-canvas" class="room-canvas h-full w-full opacity-0"></canvas><div class="absolute inset-0 z-30 flex flex-col items-center justify-center gap-3 bg-[#120f0d] text-white"><p class="text-sm tracking-wide text-white/80">Loading…</p><div class="h-1 w-48 overflow-hidden rounded-full bg-white/15"><div class="h-full bg-white transition-all" style="width:0%"></div></div></div><div class="absolute inset-0 z-10 pointer-events-auto"></div></div><!--$--><!--/$--></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$-->
1<script src="/_next/static/chunks/webpack-886dfb12b9c41e4d.js" id="_R_" async=""></script>
1<script>(self.__next_f=self.__next_f||[]).push([0])</script>
1<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[66086,[\"1383\",\"static/chunks/1383-8d294cc912b73e03.js\",\"9779\",\"static/chunks/9779-d6ea715ed8141685.js\",\"2619\",\"static/chunks/2619-b8db57ac19da49ac.js\",\"7177\",\"static/chunks/app/layout-6628a6e0885956b1.js\"],\"Providers\"]\n3:I[34833,[\"1383\",\"static/chunks/1383-8d294cc912b73e03.js\",\"9779\",\"static/chunks/9779-d6ea715ed8141685.js\",\"2619\",\"static/chunks/2619-b8db57ac19da49ac.js\",\"7177\",\"static/chunks/app/layout-6628a6e0885956b1.js\"],\"SiteChrome\"]\n4:I[9766,[],\"\"]\n5:I[98924,[],\"\"]\n6:I[75591,[\"1383\",\"static/chunks/1383-8d294cc912b73e03.js\",\"9779\",\"static/chunks/9779-d6ea715ed8141685.js\",\"2619\",\"static/chunks/2619-b8db57ac19da49ac.js\",\"7177\",\"static/chunks/app/layout-6628a6e0885956b1.js\"],\"BottomNav\"]\n7:I[68955,[\"1383\",\"static/chunks/1383-8d294cc912b73e03.js\",\"9779\",\"static/chunks/9779-d6ea715ed8141685.js\",\"2619\",\"static/chunks/2619-b8db57ac19da49ac.js\",\"7177\",\"static/chunks/app/layout-6628a6e0885956b1.js\"],\"Analytics\"]\n9:I[24431,[],\"OutletBoundary\"]\nb:I[15278,[],\"AsyncMetadataOutlet\"]\nd:I[24431,[],\"ViewportBoundary\"]\nf:I[24431,[],\"MetadataBoundary\"]\n10:\"$Sreact.suspense\"\n12:I[57150,[],\"\"]\n:HL[\"/_next/static/css/02da2cb6bf34093a.css\",\"style\"]\n"])</script>
1<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"7wSxQJrPHcNTVeR2eDeSU\",\"p\":\"\",\"c\":[\"\",\"index\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/02da2cb6bf34093a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://use.typekit.net\",\"crossOrigin\":\"\"}],[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://p.typekit.net\",\"crossOrigin\":\"\"}],[\"$\",\"link\",null,{\"rel\":\"stylesheet\",\"href\":\"https://use.typekit.net/tjd3zvh.css\"}]]}],[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L6\",null,{}]]}]}],[\"$\",\"$L7\",null,{}]]}]]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[\"$L8\",null,[\"$\",\"$L9\",null,{\"children\":[\"$La\",[\"$\",\"$Lb\",null,{\"promise\":\"$@c\"}]]}]]}],{},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],null],[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$10\",null,{\"fallback\":null,\"children\":\"$L11\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$12\",[]],\"s\":false,\"S\":true}\n"])</script>
1<script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, viewport-fit=cover\"}]]\na:null\n"])</script>
1<script>self.__next_f.push([1,"c:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Tim Forkin\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Making cool internet things.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"canonical\",\"href\":\"https://timforkin.com\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:title\",\"content\":\"Tim Forkin\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:description\",\"content\":\"Making cool internet things.\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:url\",\"content\":\"https://timforkin.com\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:site_name\",\"content\":\"Tim Forkin\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:image\",\"content\":\"https://timforkin.com/og.png\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image:width\",\"content\":\"1024\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:height\",\"content\":\"537\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:alt\",\"content\":\"Tim Forkin\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:title\",\"content\":\"Tim Forkin\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:description\",\"content\":\"Making cool internet things.\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:image\",\"content\":\"https://timforkin.com/og.png\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script>
1<script>self.__next_f.push([1,"11:\"$c:metadata\"\n"])</script>
1<script>self.__next_f.push([1,"13:I[13457,[\"9910\",\"static/chunks/a4634e51-3441b489f58918bf.js\",\"1383\",\"static/chunks/1383-8d294cc912b73e03.js\",\"9779\",\"static/chunks/9779-d6ea715ed8141685.js\",\"4988\",\"static/chunks/4988-0a565feebc9702f0.js\",\"9949\",\"static/chunks/9949-dde702e3b9b651bd.js\",\"8974\",\"static/chunks/app/page-64325452869bad37.js\"],\"UnityRoom\"]\n"])</script>
1<script>self.__next_f.push([1,"8:[\"$\",\"$L13\",null,{\"projects\":[{\"_id\":\"7bea70e3-317e-4a1d-9bf8-cc41f6892fd9\",\"id\":\"thirsttake\",\"title\":\"Miller's Ale House - Thirst Take\",\"muxPlaybackId\":\"bC3CIvrJxcBPfwWQc11qvBw8c8rZnN01J24hfTkWS9Jw\",\"videoUrl\":\"$undefined\",\"coverUrl\":\"https://cdn.sanity.io/images/zkjm4c18/production/b341d0a516610a114df8db425e1f2af866ae1fad-4096x4096.jpg\",\"aspectRatio\":\"9:16\",\"caseStudyHeadline\":\"Thirst Take\",\"caseStudyBody\":[{\"_key\":\"03d184e05310\",\"_type\":\"block\",\"children\":[{\"_key\":\"543a5916c41b\",\"_type\":\"span\",\"marks\":[],\"text\":\"The success of \"},{\"_key\":\"d635946ebb1e\",\"_type\":\"span\",\"marks\":[\"em\"],\"text\":\"Thirst Take\"},{\"_key\":\"6cb63493d615\",\"_type\":\"span\",\"marks\":[],\"text\":\" showed us that parodying pop culture in a bar setting was a winning formula. So we doubled down, parodying movies that sports fans love inside of Miller’s Ale House.\"}],\"markDefs\":[],\"style\":\"normal\"},{\"_key\":\"00193a677654\",\"_type\":\"block\",\"children\":[{\"_key\":\"9f7243684846\",\"_type\":\"span\",\"marks\":[],\"text\":\"These two sketches have a combined 1.8 million views across IG \u0026 TikTok.\"}],\"markDefs\":[],\"style\":\"normal\"}],\"playlist\":[]},{\"_id\":\"6af5123e-03a4-4ecf-ba17-4e65ecbc9879\",\"id\":\"cavafyf\",\"title\":\"CAVA - Flavor Your Future\",\"muxPlaybackId\":\"CEffzjGDp00qPlYDhcMmavPRhjIphVX9CjdDULChknHo\",\"videoUrl\":\"$undefined\",\"coverUrl\":\"https://cdn.sanity.io/images/zkjm4c18/production/dc209aade979985f7852f7618383b34724cbe0ab-4096x4096.jpg\",\"aspectRatio\":\"9:16\",\"caseStudyHeadline\":\"$undefined\",\"caseStudyBody\":\"$undefined\",\"playlist\":[]}],\"idleVideo\":{\"title\":\"Static\",\"muxPlaybackId\":\"k1XOaWJQgIZJIUmEt26kqrWnxqInjYLbfCFxCmgmjSs\",\"videoUrl\":\"$undefined\",\"aspectRatio\":\"4:3\"},\"books\":[{\"id\":\"about\",\"title\":\"About\",\"objectName\":\"Game 01\",\"headline\":\"About me\",\"body\":[{\"_type\":\"block\",\"_key\":\"line-0\",\"style\":\"normal\",\"markDefs\":[],\"children\":[{\"_type\":\"span\",\"_key\":\"line-0-s\",\"text\":\"Tim Forkin — director and editor.\",\"marks\":[]}]},{\"_type\":\"block\",\"_key\":\"line-1\",\"style\":\"normal\",\"markDefs\":[],\"children\":[{\"_type\":\"span\",\"_key\":\"line-1-s\",\"text\":\"\",\"marks\":[]}]},{\"_type\":\"block\",\"_key\":\"line-2\",\"style\":\"normal\",\"markDefs\":[],\"children\":[{\"_type\":\"span\",\"_key\":\"line-2-s\",\"text\":\"This is placeholder copy. Replace it in Sanity with a room entry whose object name is Game 01.\",\"marks\":[]}]}]},{\"id\":\"case-studies\",\"title\":\"Case studies\",\"objectName\":\"Game 06\",\"headline\":\"Case studies\",\"body\":[{\"_type\":\"block\",\"_key\":\"line-0\",\"style\":\"normal\",\"markDefs\":[],\"children\":[{\"_type\":\"span\",\"_key\":\"line-0-s\",\"text\":\"Placeholder for Case studies.\",\"marks\":[]}]},{\"_type\":\"block\",\"_key\":\"line-1\",\"style\":\"normal\",\"markDefs\":[],\"children\":[{\"_type\":\"span\",\"_key\":\"line-1-s\",\"text\":\"\",\"marks\":[]}]},{\"_type\":\"block\",\"_key\":\"line-2\",\"style\":\"normal\",\"markDefs\":[],\"children\":[{\"_type\":\"span\",\"_key\":\"line-2-s\",\"text\":\"Replace this in Sanity with a room entry whose object name is Game 06.\",\"marks\":[]}]}],\"pages\":[{\"headline\":\"Case studies\",\"body\":[{\"_type\":\"block\",\"_key\":\"line-0\",\"style\":\"normal\",\"markDefs\":[],\"children\":[{\"_type\":\"span\",\"_key\":\"line-0-s\",\"text\":\"A few selected projects and how they came together.\",\"marks\":[]}]},{\"_type\":\"block\",\"_key\":\"line-1\",\"style\":\"normal\",\"markDefs\":[],\"children\":[{\"_type\":\"span\",\"_key\":\"line-1-s\",\"text\":\"\",\"marks\":[]}]},{\"_type\":\"block\",\"_key\":\"line-2\",\"style\":\"normal\",\"markDefs\":[],\"children\":[{\"_type\":\"span\",\"_key\":\"line-2-s\",\"text\":\"Use Next to flip through placeholder pages — replace these in Sanity.\",\"marks\":[]}]}]},{\"headline\":\"Brand film\",\"body\":[{\"_type\":\"block\",\"_key\":\"line-0\",\"style\":\"normal\",\"markDefs\":[],\"children\":[{\"_type\":\"span\",\"_key\":\"line-0-s\",\"text\":\"Placeholder page two.\",\"marks\":[]}]},{\"_type\":\"block\",\"_key\":\"line-1\",\"style\":\"normal\",\"markDefs\":[],\"children\":[{\"_type\":\"span\",\"_key\":\"line-1-s\",\"text\":\"\",\"marks\":[]}]},{\"_type\":\"block\",\"_key\":\"line-2\",\"style\":\"normal\",\"markDefs\":[],\"children\":[{\"_type\":\"span\",\"_key\":\"line-2-s\",\"text\":\"Write the real case study here: goal, approach, and what shipped.\",\"marks\":[]}]}]},{\"headline\":\"Process notes\",\"body\":[{\"_type\":\"block\",\"_key\":\"line-0\",\"style\":\"normal\",\"markDefs\":[],\"children\":[{\"_type\":\"span\",\"_key\":\"line-0-s\",\"text\":\"Placeholder page three.\",\"marks\":[]}]},{\"_type\":\"block\",\"_key\":\"line-1\",\"style\":\"normal\",\"markDefs\":[],\"children\":[{\"_type\":\"span\",\"_key\":\"line-1-s\",\"text\":\"\",\"marks\":[]}]},{\"_type\":\"block\",\"_key\":\"line-2\",\"style\":\"normal\",\"markDefs\":[],\"children\":[{\"_type\":\"span\",\"_key\":\"line-2-s\",\"text\":\"Notes on edit, pacing, and collaboration.\",\"marks\":[]}]}]}]},{\"id\":\"contact\",\"title\":\"Contact\",\"objectName\":\"Telephone\",\"headline\":\"Contact\",\"body\":[{\"_type\":\"block\",\"_key\":\"line-0\",\"style\":\"normal\",\"markDefs\":[],\"children\":[{\"_type\":\"span\",\"_key\":\"line-0-s\",\"text\":\"Opens an email to [email protected].\",\"marks\":[]}]}]}]}]\n"])</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.