I'm embarrassed by my new site.
There are many bugs but I guess that's what happens when you rewrite everything from scratch. I'm choosing to launch it anyway so that I can focus on iteratively improving... all of the pieces.
Anyway I sorta buried the lede.
I removed Gatsby from my personal site
This all started when I decided I was publishing enough to need my own writing tool. In January I embarked on writing that tool, called Sector. It's a API-first Digital Garden authoring tool, which means it's effectively a nice editor to write MDX in that syncs with the cloud and offers you API access to your data at any time.
I prototyped and shipped the first version of Sector in a few days. It was usable enough for another person to use within two weeks. There's video of me working on it on stream as early as late December (My computer crashed on that stream). At that point I had auth0 login and the "first editor" working (the first editor was an input... not even a textarea). The editor is build with Slate now and grew support for tables, MDX components, and more.
So I built an authoring tool to write MDX in a way that works well for building Digital Gardens. Sector doesn't have a publish button and you'll see that reflected in my new site.
At the same time I was still writing some posts on my existing site. The turning point for me came when I was at a coffee shop writing a post for a friend. I committed the post and walked home (on my recently rolled ankle) and when I got home... my Gatsby site still wasn't done building. Then I realized I had a typo and had to ship the entire site again. This was tough and it was the day I started writing Toast.
Toast is a JAMStack meta-framework. The code is open source although by the time you read this a chunk of it may still live in my personal site's repository. It flips the paradigm of every current meta-framework on its head, eschewing webpack in favor of raw ESModules. Toast is built with Snowpack, Preact, and browser-native dynamic imports. It handles pre-rendering and (optionally) client-side rendering. As a result it provides MDX as a first-class citizen, and enables truly incremental compilation.
Sector is meant to be a suite of tools and the first extra tool is serverless opengraph image API, fronted by Cloudinary as a write-through cache. You can drop a URL into a blog post so easily, I'm going to drop one right here by typing it out.
I'm pretty proud of this one, and I did a whole egghead course on it so you can learn how to do it too. I'd really like to figure out a way to redirect the request straight to cloudinary from netlify, but as long as cloudinary makes you sign requests you cant really.
Anyway, that's it. Have a look around. I basically rebuilt everything from the writing interface to the data storage to the JAMStack meta-framework used to fetch, pre-build, and render it. It took me a couple months all told. January and Feb mostly, although I spent most of Feb doing an egghead collection every weekend so I probably could've ironed out more bugs by now.
I think that ESModules-first is a really interesting approach for Toast and that MDX provides a really fantastic way to both write and ship my writing. Stay tuned for Field Guides, Blogchains, and more. I have a plan for an "introduction to color on the web" post that uses a bunch of inline components that's pretty cool.
Overall my blogpost ship rate suffered because I wasn't happy with my previous setup anymore, after shipping over a hundred posts last year. I'm much happier with the current setup.
Feel free to ask me questions on Twitter if you want to chat about any of this.