Welcome to Wandering Monster
Roll for Initiative
Every dungeon crawl starts somewhere. This one starts with a blog.
Wandering Monster is a coding blog about building things for the web. The stack is Astro 6, Svelte 5 with Runes, TypeScript, and plain CSS. Everything is self-hosted on Cloudron and deployed via WebDAV to Surfer. The source lives on a private Forgejo instance.
The name comes from the classic tabletop RPG mechanic: roll on the wandering monster table, and see what you encounter. That is the spirit of this blog. Each post is an encounter with a problem, a tool, or an idea.
What to Expect
Posts will cover the tools and techniques used to build and maintain this site, along with broader topics in web development. Some examples of what is coming:
- Astro 6 features like the Fonts API, Content Security Policy, and the Content Layer API
- Svelte 5 Runes for interactive islands in a static site
- Self-hosting with Cloudron, Surfer, Forgejo, and Strapi
- Expressive Code with Tokyo Night theming
- Pagefind for zero-JS client-side search
Difficulty Levels
Posts are tagged with a difficulty level inspired by D&D spell levels:
- Cantrip: beginner friendly, no prerequisites
- Apprentice: some experience helpful
- Journeyman: intermediate, expects working knowledge
- Archmage: advanced deep dives and architecture decisions
This post is a Cantrip. You are already here. You passed.
The Stack
This blog is built with AI Forward principles. That means AI writes the code, the human steers the direction, and the codebase is structured to make that workflow reliable. Prose lives in data files, interfaces are typed, and every section has comments an AI can locate and replace.
The full stack is documented in the README and the AI Forward conventions document in the repo.
What is Next
The next post will walk through the Expressive Code setup with Tokyo Night theming, including custom fonts, line highlighting, and file name tabs. After that, a deep dive into the Astro 6 Fonts API with the Bunny provider.
Roll well.