<!DOCTYPE html><html class="h-full antialiased" lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="preload" as="image" href="/_next/static/media/simon-w-jackson-avatar.8eab2957.png" fetchpriority="high"/><title>Simon W. Jackson - Frontend developer, design technologist, and perpetual tinkerer.</title><meta name="description" content="I’m Simon, a frontend developer based in Austin, TX. I&#x27;ve worked on a wide range of projects, from building out design systems to developing bespoke websites for small businesses."/><meta name="next-head-count" content="5"/><script>
  let darkModeMediaQuery = window.matchMedia('(prefers-color-scheme: dark)')

  updateMode()
  darkModeMediaQuery.addEventListener('change', updateModeWithoutTransitions)
  window.addEventListener('storage', updateModeWithoutTransitions)

  function updateMode() {
    let isSystemDarkMode = darkModeMediaQuery.matches
    let isDarkMode = window.localStorage.isDarkMode === 'true' || (!('isDarkMode' in window.localStorage) && isSystemDarkMode)

    if (isDarkMode) {
      document.documentElement.classList.add('dark')
    } else {
      document.documentElement.classList.remove('dark')
    }

    if (isDarkMode === isSystemDarkMode) {
      delete window.localStorage.isDarkMode
    }
  }

  function disableTransitionsTemporarily() {
    document.documentElement.classList.add('[&_*]:!transition-none')
    window.setTimeout(() => {
      document.documentElement.classList.remove('[&_*]:!transition-none')
    }, 0)
  }

  function updateModeWithoutTransitions() {
    disableTransitionsTemporarily()
    updateMode()
  }
</script><link rel="alternate" type="application/rss+xml" href="undefined/rss/feed.xml"/><link rel="alternate" type="application/feed+json" href="undefined/rss/feed.json"/><link rel="preload" href="/_next/static/css/55735bd81e12d00d.css" as="style"/><link rel="stylesheet" href="/_next/static/css/55735bd81e12d00d.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-b8f8d6679aaa5f42.js" defer=""></script><script src="/_next/static/chunks/framework-ac88a2a245aea9ab.js" defer=""></script><script src="/_next/static/chunks/main-8ca5665f92604083.js" defer=""></script><script src="/_next/static/chunks/pages/_app-87ee136ea90995d5.js" defer=""></script><script src="/_next/static/chunks/pages/index-b5142111055ed3cf.js" defer=""></script><script src="/_next/static/bYevdKhspPHhKdnxR4leO/_buildManifest.js" defer=""></script><script src="/_next/static/bYevdKhspPHhKdnxR4leO/_ssgManifest.js" defer=""></script></head><body class="flex h-full flex-col bg-zinc-50 dark:bg-black"><div id="__next"><div class="fixed inset-0 flex justify-center sm:px-8"><div class="flex w-full max-w-7xl lg:px-8"><div class="w-full bg-white ring-1 ring-zinc-100 dark:bg-zinc-900 dark:ring-zinc-300/20"></div></div></div><div class="relative"><header class="pointer-events-none relative z-50 flex flex-col" style="height:var(--header-height);margin-bottom:var(--header-mb)"><div class="order-last mt-[calc(theme(spacing.16)-theme(spacing.3))]"></div><div class="sm:px-8 top-0 order-last -mb-3 pt-3" style="position:var(--header-position)"><div class="mx-auto max-w-7xl lg:px-8"><div class="relative px-4 sm:px-8 lg:px-12"><div class="mx-auto max-w-2xl lg:max-w-5xl"><div class="top-[var(--avatar-top,theme(spacing.3))] w-full" style="position:var(--header-inner-position)"><div class="relative"><div class="absolute left-0 top-3 origin-left transition-opacity h-10 w-10 rounded-full bg-white/90 p-0.5 shadow-lg shadow-zinc-800/5 ring-1 ring-zinc-900/5 backdrop-blur dark:bg-zinc-800/90 dark:ring-white/10" style="opacity:var(--avatar-border-opacity, 0);transform:var(--avatar-border-transform)"></div><a aria-label="Home" class="block h-16 w-16 origin-left pointer-events-auto" style="transform:var(--avatar-image-transform)" href="/"><img alt="" fetchpriority="high" width="200" height="200" decoding="async" data-nimg="1" class="rounded-full bg-zinc-100 object-cover dark:bg-zinc-800 h-16 w-16" style="color:transparent" src="/_next/static/media/simon-w-jackson-avatar.8eab2957.png"/></a></div></div></div></div></div></div><div class="top-0 z-10 h-16 pt-6" style="position:var(--header-position)"><div class="sm:px-8 top-[var(--header-top,theme(spacing.6))] w-full" style="position:var(--header-inner-position)"><div class="mx-auto max-w-7xl lg:px-8"><div class="relative px-4 sm:px-8 lg:px-12"><div class="mx-auto max-w-2xl lg:max-w-5xl"><div class="relative flex gap-4"><div class="flex flex-1"></div><div class="flex flex-1 justify-end md:justify-center"><div class="pointer-events-auto md:hidden" data-headlessui-state=""><button class="group flex items-center rounded-full bg-white/90 px-4 py-2 text-sm font-medium text-zinc-800 shadow-lg shadow-zinc-800/5 ring-1 ring-zinc-900/5 backdrop-blur dark:bg-zinc-800/90 dark:text-zinc-200 dark:ring-white/10 dark:hover:ring-white/20" type="button" aria-expanded="false" data-headlessui-state="">Menu<svg viewBox="0 0 8 6" aria-hidden="true" class="ml-3 h-auto w-2 stroke-zinc-500 group-hover:stroke-zinc-700 dark:group-hover:stroke-zinc-400"><path d="M1.75 1.75 4 4.25l2.25-2.5" fill="none" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div><nav class="pointer-events-auto hidden md:block"><ul class="flex rounded-full bg-white/90 px-3 text-sm font-medium text-zinc-800 shadow-lg shadow-zinc-800/5 ring-1 ring-zinc-900/5 backdrop-blur dark:bg-zinc-800/90 dark:text-zinc-200 dark:ring-white/10"><li><a class="relative block px-3 py-2 transition text-teal-500 dark:text-teal-400" href="/">Home<span class="absolute inset-x-1 -bottom-px h-px bg-gradient-to-r from-teal-500/0 via-teal-500/40 to-teal-500/0 dark:from-teal-400/0 dark:via-teal-400/40 dark:to-teal-400/0"></span></a></li><li><a class="relative block px-3 py-2 transition hover:text-teal-500 dark:hover:text-teal-400" href="/blog">Articles</a></li><li><a class="relative block px-3 py-2 transition hover:text-teal-500 dark:hover:text-teal-400" href="/about">About</a></li></ul></nav></div><div class="flex justify-end md:flex-1"><div class="pointer-events-auto"><button type="button" aria-label="Toggle dark mode" class="group rounded-full bg-white/90 px-3 py-2 shadow-lg shadow-zinc-800/5 ring-1 ring-zinc-900/5 backdrop-blur transition dark:bg-zinc-800/90 dark:ring-white/10 dark:hover:ring-white/20"><svg viewBox="0 0 24 24" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="h-6 w-6 fill-zinc-100 stroke-zinc-500 transition group-hover:fill-zinc-200 group-hover:stroke-zinc-700 dark:hidden [@media(prefers-color-scheme:dark)]:fill-teal-50 [@media(prefers-color-scheme:dark)]:stroke-teal-500 [@media(prefers-color-scheme:dark)]:group-hover:fill-teal-50 [@media(prefers-color-scheme:dark)]:group-hover:stroke-teal-600"><path d="M8 12.25A4.25 4.25 0 0 1 12.25 8v0a4.25 4.25 0 0 1 4.25 4.25v0a4.25 4.25 0 0 1-4.25 4.25v0A4.25 4.25 0 0 1 8 12.25v0Z"></path><path d="M12.25 3v1.5M21.5 12.25H20M18.791 18.791l-1.06-1.06M18.791 5.709l-1.06 1.06M12.25 20v1.5M4.5 12.25H3M6.77 6.77 5.709 5.709M6.77 17.73l-1.061 1.061" fill="none"></path></svg><svg viewBox="0 0 24 24" aria-hidden="true" class="hidden h-6 w-6 fill-zinc-700 stroke-zinc-500 transition dark:block [@media(prefers-color-scheme:dark)]:group-hover:stroke-zinc-400 [@media_not_(prefers-color-scheme:dark)]:fill-teal-400/10 [@media_not_(prefers-color-scheme:dark)]:stroke-teal-500"><path d="M17.25 16.22a6.937 6.937 0 0 1-9.47-9.47 7.451 7.451 0 1 0 9.47 9.47ZM12.75 7C17 7 17 2.75 17 2.75S17 7 21.25 7C17 7 17 11.25 17 11.25S17 7 12.75 7Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div></div></div></div></div></div></div></div></header><div style="height:var(--content-offset)"></div><main><div class="sm:px-8 mt-9"><div class="mx-auto max-w-7xl lg:px-8"><div class="relative px-4 sm:px-8 lg:px-12"><div class="mx-auto max-w-2xl lg:max-w-5xl"><div class="max-w-2xl"><h1 class="text-4xl font-bold tracking-tight text-zinc-800 dark:text-zinc-100 sm:text-5xl">Frontend developer, design technologist, and perpetual tinkerer.</h1><p class="mt-6 text-base text-zinc-600 dark:text-zinc-400">I’m Simon, a frontend developer based in Austin, TX. I&#x27;ve worked on a wide range of projects, from building out design systems to developing bespoke websites for small businesses.</p><div class="mt-6 flex gap-6"><a class="group -m-1 p-1" aria-label="Follow on GitHub" href="https://github.com/simonwjackson"><svg viewBox="0 0 24 24" aria-hidden="true" class="h-6 w-6 fill-zinc-500 transition group-hover:fill-zinc-600 dark:fill-zinc-400 dark:group-hover:fill-zinc-300"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 2C6.475 2 2 6.588 2 12.253c0 4.537 2.862 8.369 6.838 9.727.5.09.687-.218.687-.487 0-.243-.013-1.05-.013-1.91C7 20.059 6.35 18.957 6.15 18.38c-.113-.295-.6-1.205-1.025-1.448-.35-.192-.85-.667-.013-.68.788-.012 1.35.744 1.538 1.051.9 1.551 2.338 1.116 2.912.846.088-.666.35-1.115.638-1.371-2.225-.256-4.55-1.14-4.55-5.062 0-1.115.387-2.038 1.025-2.756-.1-.256-.45-1.307.1-2.717 0 0 .837-.269 2.75 1.051.8-.23 1.65-.346 2.5-.346.85 0 1.7.115 2.5.346 1.912-1.333 2.75-1.05 2.75-1.05.55 1.409.2 2.46.1 2.716.637.718 1.025 1.628 1.025 2.756 0 3.934-2.337 4.806-4.562 5.062.362.32.675.936.675 1.897 0 1.371-.013 2.473-.013 2.82 0 .268.188.589.688.486a10.039 10.039 0 0 0 4.932-3.74A10.447 10.447 0 0 0 22 12.253C22 6.588 17.525 2 12 2Z"></path></svg></a><a class="group -m-1 p-1" aria-label="Follow on LinkedIn" href="https://linkedin.com/in/simonwjackson"><svg viewBox="0 0 24 24" aria-hidden="true" class="h-6 w-6 fill-zinc-500 transition group-hover:fill-zinc-600 dark:fill-zinc-400 dark:group-hover:fill-zinc-300"><path d="M18.335 18.339H15.67v-4.177c0-.996-.02-2.278-1.39-2.278-1.389 0-1.601 1.084-1.601 2.205v4.25h-2.666V9.75h2.56v1.17h.035c.358-.674 1.228-1.387 2.528-1.387 2.7 0 3.2 1.778 3.2 4.091v4.715zM7.003 8.575a1.546 1.546 0 01-1.548-1.549 1.548 1.548 0 111.547 1.549zm1.336 9.764H5.666V9.75H8.34v8.589zM19.67 3H4.329C3.593 3 3 3.58 3 4.297v15.406C3 20.42 3.594 21 4.328 21h15.338C20.4 21 21 20.42 21 19.703V4.297C21 3.58 20.4 3 19.666 3h.003z"></path></svg></a></div></div></div></div></div></div><div class="sm:px-8 mt-24 md:mt-28"><div class="mx-auto max-w-7xl lg:px-8"><div class="relative px-4 sm:px-8 lg:px-12"><div class="mx-auto max-w-2xl lg:max-w-5xl"><h2 class="text-2xl mb-12 font-bold tracking-tight text-zinc-800 dark:text-zinc-100 sm:text-3xl">Articles</h2><div class="mx-auto grid max-w-xl grid-cols-1 gap-y-20 lg:max-w-none lg:grid-cols-2"><div class="flex flex-col gap-16"><article class="group relative flex flex-col items-start"><h2 class="text-base font-semibold tracking-tight text-zinc-800 dark:text-zinc-100"><div class="absolute -inset-x-4 -inset-y-6 z-0 scale-95 bg-zinc-50 opacity-0 transition group-hover:scale-100 group-hover:opacity-100 dark:bg-zinc-800/50 sm:-inset-x-6 sm:rounded-2xl"></div><a href="/blog/vite-with-typescript-and-storybook"><span class="absolute -inset-x-4 -inset-y-6 z-20 sm:-inset-x-6 sm:rounded-2xl"></span><span class="relative z-10">Vite with React Native Web, TypeScript, and Material</span></a></h2><time class="relative z-10 order-first mb-3 flex items-center text-sm text-zinc-400 dark:text-zinc-500 pl-3.5" dateTime="2022-11-12"><span class="absolute inset-y-0 left-0 flex items-center" aria-hidden="true"><span class="h-4 w-0.5 rounded-full bg-zinc-200 dark:bg-zinc-500"></span></span>November 12, 2022</time><p class="relative z-10 mt-2 text-sm text-zinc-600 dark:text-zinc-400"></p><div aria-hidden="true" class="relative z-10 mt-4 flex items-center text-sm font-medium text-teal-500">Read article<svg viewBox="0 0 16 16" fill="none" aria-hidden="true" class="ml-1 h-4 w-4 stroke-current"><path d="M6.75 5.75 9.25 8l-2.5 2.25" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></article><article class="group relative flex flex-col items-start"><h2 class="text-base font-semibold tracking-tight text-zinc-800 dark:text-zinc-100"><div class="absolute -inset-x-4 -inset-y-6 z-0 scale-95 bg-zinc-50 opacity-0 transition group-hover:scale-100 group-hover:opacity-100 dark:bg-zinc-800/50 sm:-inset-x-6 sm:rounded-2xl"></div><a href="/blog/whats-in-my-laptop-bag-2021"><span class="absolute -inset-x-4 -inset-y-6 z-20 sm:-inset-x-6 sm:rounded-2xl"></span><span class="relative z-10">Whats in My Laptop Bag (2021 Edition)</span></a></h2><time class="relative z-10 order-first mb-3 flex items-center text-sm text-zinc-400 dark:text-zinc-500 pl-3.5" dateTime="2021-04-12"><span class="absolute inset-y-0 left-0 flex items-center" aria-hidden="true"><span class="h-4 w-0.5 rounded-full bg-zinc-200 dark:bg-zinc-500"></span></span>April 12, 2021</time><p class="relative z-10 mt-2 text-sm text-zinc-600 dark:text-zinc-400">I&#x27;ve made a concerted effort to get rid of a good chunk on eBay, but after 2 months it feels like I&#x27;ve hardly scratched the surface. Applying this theme to my mobile setup feels like natural next step, so before I began downsizing my mobile gear, I set up a few parameters..</p><div aria-hidden="true" class="relative z-10 mt-4 flex items-center text-sm font-medium text-teal-500">Read article<svg viewBox="0 0 16 16" fill="none" aria-hidden="true" class="ml-1 h-4 w-4 stroke-current"><path d="M6.75 5.75 9.25 8l-2.5 2.25" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></article></div><div class="space-y-10 lg:pl-16 xl:pl-24"><div class="rounded-2xl border border-zinc-100 p-6 dark:border-zinc-700/40"><h2 class="flex text-sm font-semibold text-zinc-900 dark:text-zinc-100"><svg viewBox="0 0 24 24" fill="none" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="h-6 w-6 flex-none"><path d="M2.75 9.75a3 3 0 0 1 3-3h12.5a3 3 0 0 1 3 3v8.5a3 3 0 0 1-3 3H5.75a3 3 0 0 1-3-3v-8.5Z" class="fill-zinc-100 stroke-zinc-400 dark:fill-zinc-100/10 dark:stroke-zinc-500"></path><path d="M3 14.25h6.249c.484 0 .952-.002 1.316.319l.777.682a.996.996 0 0 0 1.316 0l.777-.682c.364-.32.832-.319 1.316-.319H21M8.75 6.5V4.75a2 2 0 0 1 2-2h2.5a2 2 0 0 1 2 2V6.5" class="stroke-zinc-400 dark:stroke-zinc-500"></path></svg><span class="ml-3">Work</span></h2><ol class="mt-6 space-y-4"><li class="flex gap-4"><div class="relative mt-1 flex h-10 w-10 flex-none items-center justify-center rounded-full shadow-md shadow-zinc-800/5 ring-1 ring-zinc-900/5 dark:border dark:border-zinc-700/50 dark:bg-zinc-800 dark:ring-0"><img alt="" loading="lazy" width="50" height="50" decoding="async" data-nimg="1" class="h-7 w-7" style="color:transparent;border-radius:100px" src="https://media.licdn.com/dms/image/D560BAQHSId9WPp6gnA/company-logo_100_100/0/1685560207934?e=1695859200&amp;v=beta&amp;t=-ERd92-gl-KI8NdV-qElEkJsV3HirdvnUhXmZBI19WA"/></div><dl class="flex flex-auto flex-wrap gap-x-2"><dt class="sr-only">Company</dt><dd class="w-full flex-none text-sm font-medium text-zinc-900 dark:text-zinc-100">Grocery TV</dd><dt class="sr-only">Role</dt><dd class="text-xs text-zinc-500 dark:text-zinc-400">Frontend Software Engineer</dd><dt class="sr-only">Date</dt><dd class="ml-auto text-xs text-zinc-400 dark:text-zinc-500" aria-label="2022 until 2023"><time dateTime="2022">2022</time> <span aria-hidden="true">—</span> <time dateTime="2023">2023</time></dd></dl></li><li class="flex gap-4"><div class="relative mt-1 flex h-10 w-10 flex-none items-center justify-center rounded-full shadow-md shadow-zinc-800/5 ring-1 ring-zinc-900/5 dark:border dark:border-zinc-700/50 dark:bg-zinc-800 dark:ring-0"><img alt="" loading="lazy" width="50" height="50" decoding="async" data-nimg="1" class="h-7 w-7" style="color:transparent;border-radius:100px" src="https://avatars.githubusercontent.com/u/53626769?s=200&amp;v=4"/></div><dl class="flex flex-auto flex-wrap gap-x-2"><dt class="sr-only">Company</dt><dd class="w-full flex-none text-sm font-medium text-zinc-900 dark:text-zinc-100">Kronologic</dd><dt class="sr-only">Role</dt><dd class="text-xs text-zinc-500 dark:text-zinc-400">Frontend Software Engineer</dd><dt class="sr-only">Date</dt><dd class="ml-auto text-xs text-zinc-400 dark:text-zinc-500" aria-label="2021 until 2022"><time dateTime="2021">2021</time> <span aria-hidden="true">—</span> <time dateTime="2022">2022</time></dd></dl></li><li class="flex gap-4"><div class="relative mt-1 flex h-10 w-10 flex-none items-center justify-center rounded-full shadow-md shadow-zinc-800/5 ring-1 ring-zinc-900/5 dark:border dark:border-zinc-700/50 dark:bg-zinc-800 dark:ring-0"><img alt="" loading="lazy" width="50" height="50" decoding="async" data-nimg="1" class="h-7 w-7" style="color:transparent;border-radius:100px" src="https://media.licdn.com/dms/image/C4E0BAQFFkrgHbRyMzQ/company-logo_100_100/0/1652434822284?e=1695859200&amp;v=beta&amp;t=pHbGbFQTMGkZkI125p-RXEA8xxh3zqqswN7TayQHW_k"/></div><dl class="flex flex-auto flex-wrap gap-x-2"><dt class="sr-only">Company</dt><dd class="w-full flex-none text-sm font-medium text-zinc-900 dark:text-zinc-100">Bottomline</dd><dt class="sr-only">Role</dt><dd class="text-xs text-zinc-500 dark:text-zinc-400">Frontend Software Engineer</dd><dt class="sr-only">Date</dt><dd class="ml-auto text-xs text-zinc-400 dark:text-zinc-500" aria-label="2018 until 2021"><time dateTime="2018">2018</time> <span aria-hidden="true">—</span> <time dateTime="2021">2021</time></dd></dl></li><li class="flex gap-4"><div class="relative mt-1 flex h-10 w-10 flex-none items-center justify-center rounded-full shadow-md shadow-zinc-800/5 ring-1 ring-zinc-900/5 dark:border dark:border-zinc-700/50 dark:bg-zinc-800 dark:ring-0"><img alt="" loading="lazy" width="50" height="50" decoding="async" data-nimg="1" class="h-7 w-7" style="color:transparent;border-radius:100px" src="https://media.licdn.com/dms/image/C4E0BAQHd5Km8_W6GVA/company-logo_100_100/0/1614178926580?e=1695859200&amp;v=beta&amp;t=pXVQXrzBWN0BKvJBVxHGSPaK3bgJyRThGTFQX2JpzWU"/></div><dl class="flex flex-auto flex-wrap gap-x-2"><dt class="sr-only">Company</dt><dd class="w-full flex-none text-sm font-medium text-zinc-900 dark:text-zinc-100">Dell</dd><dt class="sr-only">Role</dt><dd class="text-xs text-zinc-500 dark:text-zinc-400">Design Technologist</dd><dt class="sr-only">Date</dt><dd class="ml-auto text-xs text-zinc-400 dark:text-zinc-500" aria-label="2016 until 2018"><time dateTime="2016">2016</time> <span aria-hidden="true">—</span> <time dateTime="2018">2018</time></dd></dl></li><li class="flex gap-4"><div class="relative mt-1 flex h-10 w-10 flex-none items-center justify-center rounded-full shadow-md shadow-zinc-800/5 ring-1 ring-zinc-900/5 dark:border dark:border-zinc-700/50 dark:bg-zinc-800 dark:ring-0"><img alt="" loading="lazy" width="50" height="50" decoding="async" data-nimg="1" class="h-7 w-7" style="color:transparent;border-radius:100px" src="https://pbs.twimg.com/profile_images/1410605776171790343/H2oHr9kW_400x400.jpg"/></div><dl class="flex flex-auto flex-wrap gap-x-2"><dt class="sr-only">Company</dt><dd class="w-full flex-none text-sm font-medium text-zinc-900 dark:text-zinc-100">Clevertech</dd><dt class="sr-only">Role</dt><dd class="text-xs text-zinc-500 dark:text-zinc-400">Frontend Software Engineer</dd><dt class="sr-only">Date</dt><dd class="ml-auto text-xs text-zinc-400 dark:text-zinc-500" aria-label="2013 until 2016"><time dateTime="2013">2013</time> <span aria-hidden="true">—</span> <time dateTime="2016">2016</time></dd></dl></li></ol><a class="inline-flex items-center gap-2 justify-center rounded-md py-2 px-3 text-sm outline-offset-2 transition active:transition-none bg-zinc-50 font-medium text-zinc-900 hover:bg-zinc-100 active:bg-zinc-100 active:text-zinc-900/60 dark:bg-zinc-800/50 dark:text-zinc-300 dark:hover:bg-zinc-800 dark:hover:text-zinc-50 dark:active:bg-zinc-800/50 dark:active:text-zinc-50/70 group mt-6 w-full" href="/Resume-Simon-W-Jackson.pdf">Download CV<svg viewBox="0 0 16 16" fill="none" aria-hidden="true" class="h-4 w-4 stroke-zinc-400 transition group-active:stroke-zinc-600 dark:group-hover:stroke-zinc-50 dark:group-active:stroke-zinc-50"><path d="M4.75 8.75 8 12.25m0 0 3.25-3.5M8 12.25v-8.5" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></div></div></div></div></div></main><footer class="mt-32"><div class="sm:px-8"><div class="mx-auto max-w-7xl lg:px-8"><div class="border-t border-zinc-100 pb-16 pt-10 dark:border-zinc-700/40"><div class="relative px-4 sm:px-8 lg:px-12"><div class="mx-auto max-w-2xl lg:max-w-5xl"><div class="flex flex-col items-center justify-between gap-6 sm:flex-row"><div class="flex flex-wrap justify-center gap-x-6 gap-y-1 text-sm font-medium text-zinc-800 dark:text-zinc-200"><a class="transition hover:text-teal-500 dark:hover:text-teal-400" href="/">Home</a><a class="transition hover:text-teal-500 dark:hover:text-teal-400" href="/blog">Articles</a><a class="transition hover:text-teal-500 dark:hover:text-teal-400" href="/about">About</a></div><p class="text-sm text-zinc-400 dark:text-zinc-500">© <!-- -->2023<!-- --> Simon W. Jackson. All rights reserved.</p></div></div></div></div></div></div></footer></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"articles":[{"slug":"vite-with-typescript-and-storybook","author":"Simon W. Jackson","date":"2022-11-12","title":"Vite with React Native Web, TypeScript, and Material","description":"","draft":true},{"slug":"whats-in-my-laptop-bag-2021","author":"Simon W. Jackson","date":"2021-04-12","description":"I've made a concerted effort to get rid of a good chunk on eBay, but after 2 months it feels like I've hardly scratched the surface. Applying this theme to my mobile setup feels like natural next step, so before I began downsizing my mobile gear, I set up a few parameters..","title":"Whats in My Laptop Bag (2021 Edition)"},{"slug":"install-node-js-on-raspberry-pi-zero","author":"Simon W. Jackson","date":"2019-09-13","title":"Installing nodejs on a Raspberry Pi Zero","description":"I recently switched one of my projects from a Raspberry Pi 3 over to a Raspberry Pi Zero. Since they both run _very_ similar hardware, I was able to just pop out the sdcard from the Rpi 3 and just insert it into the zero and voilà everything just worked.. or so I thought."},{"slug":"ramda-anki-study-deck","author":"Simon W. Jackson","date":"2019-02-24","title":"Ramda - Anki Study Deck","description":"My go-to utility function library is Ramda.js. The docs have a permanent spot in my browser tab list for quick reference. In order to reduce frequent context switching, I've decided to created a Ramda study deck for Anki."}]},"__N_SSG":true},"page":"/","query":{},"buildId":"bYevdKhspPHhKdnxR4leO","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>