For local development I use a home-grown system that serves my site, watches for changes, rebuilds, and reloads any connected browsers. This is by no means novel, but it is all written in Swift and integrates directly with my Publish package. (It also requires no extra dependencies, which makes me oddly happy.)
The design is meant to be playful, cartoonish, and a pleasure to read. Those first two will surely change, but not the last. The headings are set in Concourse, text in Ingeborg, and code in
Triplicate. I could talk all day about those, but the designers say it best—visit the links.
It may also interest some that the blog supports title-less posts by design. This makes it easy to get thoughts out without stewing over an appropriate title, which helps me to write more often… 🤥
If you are curious, feel free to peak under the hood.