Nate Moore

Published December 2, 2025

Hello from the other side

Welp. It has been six years since I published a blog post. One pandemic, two new JavaScript frameworks, and a few career highlights later, I figured a quick reflection was due.

First, a small blog update! This was previously an SPA built with Stencil. As of this post, natemoo.re is finally built with Astro. Woo!

Trust me, “late to my own party” is extremely on brand 🙈

How did we get here? It’s a bit of a long story, but 2019 seems as a good a place to start as any…

At the time, I was all-in on web components (still am) and had just cut my teeth in the Stencil community. One of my first open source projects was Stencil Tools, a Code extension to supercharge Stencil’s already excellent DX. Building for a community of framework-agnostic, platform-first, DX enthusiasts was, it turns out, a great education.

In part due to my growing portfolio of open source projects, I joined a design and development agency in Chicago, WHQ. I learned a lot from the charmingly grizzled lead engineer1 there and gained experience building out design systems for big enterprise clients. We managed a Drupal site for one particular client where pages were primarily PHP, but ocassionaly enhanced with small embedded Vue apps. Pretty nice architecture if you ask me.

Unsurprisingly, React’s gravitational pull was already unavoidable by 2020. But those with their ear to the ground might remember a #Reactgate wave adding to the steady drip of evidence that React was heading in the wrong direction. Next.js (then on v10) had a ludicrous 70kB+ JavaScript output that certainly didn’t help.

In case you’re wondering… Next’s bundle size problems have not been addressed in the many years since 😬

Around this same time, a handful of people in the web performance space were exploring a technique called partial hydration. Companies like eBay (via Marko), Etsy, and The Guardian were already pushing the pattern to production. It sounded like an interesting way to minimize JavaScript payloads, but it required a fair amount of hacking on top of existing tools. However, with ESM’s mainstream adoption on the horizon, there were projects like WMR (then on v1) and Snowpack (then on v2) breathing new life into the tooling space. They came with nice, opinionated modern tooling (ESM, TypeScript, CSS modules, etc) out of the box. Notably, there was an interesting tool named Vite (then on v1-alpha) but the v0 only supported the Vue ecosystem.

Due to some magical combination of timing, luck, privilege, and restlessness, a few weeks of after-hours, pandemic-fueled hacking resulted in Microsite around December 2020. It was a proof of concept next-gen framework with completely automatic, bundler-based partial hydration. It used Snowpack under the hood, borrowed the file-based routing APIs from Next v10, and replaced React with Preact. After some refinement, I had confidence to put together a launch video (more style than substance, of course) and share with my 200-ish Twitter followers.

Unbeknownst to me, there was a small team (Fred, Drew, and Matthew) working on Snowpack while attempting to commercialize the underlying technology as Skypack. They were, like me, big performance geeks who had been trying to figure out how to leverage the dawn of ESM to improve the web. My post got their attention and I was invited to chat. The rest, as they say, is history.

We hit the ground running on a new tool that became Astro, at least in part to dogfood Snowpack. We quietly opened a beta in April 2021 and officially launched Astro that summer. A few months later, I rewrote our compiler in Go2 while we sunset Snowpack and went all-in on Vite. By early 2022, we’d formed The Astro Technology Company to support the project. The Astro v1 Beta dropped in April and Astro v1 arrived that August. In 2023 came Astro v2 and a rebrand that perfectly captured the magic of Astro. Astro v3 and v4 quickly followed.

But the release notes never tell the whole story. With all the confidence (and naivety) of a 26-year-old dropout suddenly playing in the big leagues, I threw my whole self into Astro. Behind the scenes, it was a blur of innovation, joy, pressure, doubt, urgency, and improv. We were building in public, living in Discord, and trying to manage an open source community growing faster than any of us expected. I somehow shephered Astro v1 over the finish line, jumped between architecture, compiler, design and community work, landed hybrid rendering, introduced astro add, overhauled create astro, worked on several redesigns, helped hire some incredible people, and even spoke internationally.

I also felt the impact of being strapped to a rocket. Startup life takes a toll. Multiple teammates ran out of runway. I nearly reached my breaking point while navigating personal crises, questioning my identity3, pushing myself harder than I should have, and grieving two unexpected dog deaths in two years. A product many of us believed in never became what we hoped it would. Advances in AI drastically changed the landscape beneath us. Somewhere in all of that chaos, I got promoted, did some of my best engineering work, tried to lift while I climbed, and made memories with genuinely great people. The mission always felt bigger than the setbacks. When I stepped away in the Summer of 2024, I ended things on a high note together in Montreal—proud of our hard work, celebrating new lifelong friendships, and an incredible journey.

Stepping away gave me something I didn’t realize I’d lost… perspective. I learned to trust my instincts again, to speak up for ideas even when they weren’t the obvious choice, and to bet on myself with the same stubborn confidence I had in the beginning. I also came to appreciate that pace can matter more than velocity; that burnout isn’t a badge of honor. Protecting your energy and building in a way that’s sustainable is the only way to stay in the game and fight another day. There’s a lot of noise in this industry—learning which voices to tune out and which to amplify is critical. And while the cost of visibility is real, the upside definitely is too.

Anyway, I took the rest of Summer 2024 off to reset, did some interviews, and eventually joined the Design Engineering team at Sentry. I’ve been there for a year and a half, and it’s been a welcome return to that nebulous space I love between design and engineering. I’m enjoying solving problems at scale with a little more wisdom, thicker skin, and a better sense of where I want to go from here.

That brings us up to December 2025. This site is finally running on Astro v5. It feels good to reclaim my own little slice of the internet.

More soon. ✌️

Footnotes

  1. Thanks, Keith! I owe you a drink some day. 🍻

  2. Why Go over Rust? To be honest, esbuild was written in Go and it was easy to learn. We didn’t overthink it. Many years later, the TypeScript native port announcement felt like vindication.

  3. Hey! Turns out I’ve been non-binary this whole time, not just an overly enthusiastic ally. Got it.