B Squared2
←  All work

The Ashmarch: a fantasy author's site, rebuilt off Wix

Richard's grimdark fantasy site, moved off Wix to a fast static site we host. Every tale reads as a book, every old link still works.

Client
The Ashmarch (Richard, author)
Role
Design, build and hosting
Year
2026
Status
Live
Stack
Astro, TypeScript, nginx, Docker, Caddy, GitHub Actions, SEO, Performance
The Ashmarch home page, with a gold blackletter headline, a Woodsman tale cover on the right and a low hearth glow along the bottom
Mobile LCP, home page (Wix: 15.6 s)
1.4 sMobile LCP, home page (Wix: 15.6 s)
Home page weight (Wix: 3.0 MB)
218 KBHome page weight (Wix: 3.0 MB)
Lighthouse accessibility, mobile
100Lighthouse accessibility, mobile

The brief

Richard writes grimdark low fantasy: border towns, a corrupt crown, a holy order that answers to no one. His site, The Ashmarch, is where readers find the short tales, the audiobooks, the world and the book. It was built on Wix.

On a phone, the home page took 15.6 seconds to show its main text, and weighed 3 MB. The Woodsman, an eight-minute read, was shown in a flip-book widget, so search engines saw about 400 words of its page. Some addresses were setup leftovers like /blank-3.

The brief was to move it off Wix to a fast site that Richard owns and we host, keep every page and link that mattered, and raise the design to match the books. It went live on 29 October 2026.

The reading room

Each tale opens as a book. The pages are real spreads that turn, with a drop capital on the first. You can pick one of three lights (candlelit, lights out and daylight), choose from three text sizes and go full screen. The book remembers where you stopped, and the tales page offers a "Continue reading" card to take you back to it.

The Belron tale open in the reading room: two parchment pages side by side with a red drop capital, and controls below for Candlelit, Lights out, Daylight and three text sizes

The book is an extra, not the only copy. On each tale's own page the story is ordinary HTML text, so it reads without JavaScript and search engines can index all of it.

Audiobooks

The tales with a recording have a player styled to the site. It has back 15 seconds, forward 30 seconds, and speeds from 1× to 1.75×. It remembers where you stopped. On a phone it shows on the lock screen with the tale's cover art, through the browser's Media Session API.

Three phone screens: the home page with its gold headline, the Belron tale page with the audiobook player along the bottom, and the map with Solerne's place sheet open

The map and the Ledger

The world map is a painted map of the Ashmarch, with 15 places marked on it. It starts in lantern mode: the map stays dark except around your pointer or finger, so you explore it rather than take it in at a glance, and one button lights the whole map. Choose a place and its entry opens beside the map on a desktop, or as a sheet from the bottom on a phone. A gazetteer below lists every place in plain text.

The map in lantern mode with Hallowmere selected: the painted map is lit around the township, and a panel on the right tells of the house that has stood boarded up for eleven years

The Ledger is the archive of characters, grouped as the people who carry the story, the Lucent Order, and three characters with a "Who is right?" vote between them.

The illustrator's work

The illustrations are by Jenna-Leigh Saelens, who has her own section on the author page: a gallery of her work with a lightbox you can drive from the keyboard (arrow keys to move, Escape to close), and her commission tiers, so readers who like the art can hire her.

The illustrator's gallery on a brown ground under the heading "Illustrations by Jenna-Leigh Saelens": four portrait illustrations, two labelled Tier 1, with her notes on each

Reviews and the book

Under the hero on every main page there's a strip of Amazon reader reviews: the rating, a quote that changes, and a "Leave a review" link. The Kindle collection, The Metal Underneath, has its own "Buy on Amazon" band. Readers can also commission a tale written around them, through the commission page.

The foot of the home page hero: a strip reading 4.6 out of 5 on Amazon with a reader's quote and a Leave a review button, then a band for The Metal Underneath on Kindle with a Buy on Amazon button

Moving it without losing anything

  • Every old address still works. We listed the 37 addresses on the Wix site. The two that were already right stayed the same, and the other 35 now send a permanent (301) redirect to their new page, so links and search history carry over. The setup leftovers are gone.
  • Search basics. There's a sitemap, an RSS feed and a 404 page that suits the site. Each page has structured data for what it is: a short story with its audiobook, a book, an author.
  • Link previews. Each page has its own 1200×630 share card, made when the site is built. Each card is saved with full colour detail, without the compression that blurs fine lines, and is never enlarged from a smaller image, so a link shared on social media or in a chat looks sharp. The pages carry Open Graph and X tags.
  • His email kept running. Richard's email is hosted somewhere else, so we carried its records across with the move. Mail kept arriving through the switch.

The stack

Astro, built to plain static files, served by nginx in Docker behind Caddy on a server we run. Changes pushed to the main branch are built and deployed by GitHub Actions. We host the site and look after it month to month.

The numbers

Lighthouse on mobile, three runs against the live home page on 29 October 2026:

  • Largest contentful paint 1.4 s, against 15.6 s on Wix.
  • 218 KB for the whole page, against 3.0 MB.
  • Performance 100, against 66. Accessibility 100, against 96.

These are lab runs from our own machine, not field data from real visitors.

Why it's on this site

This is a small site with a lot of detail, and the work was the same as on bigger jobs. We measured what was slow, fixed the cause, moved everything without breaking a link, and left the client owning the result. If your website or system is holding you back, tell us what you're working around.

Something like this, for your business.

Tell us what you're working around at the moment and we'll tell you how we'd approach it.

00Cookies

This site uses Google Analytics to count visits and see which pages get read. It sets cookies, so it stays switched off unless you say yes. Nothing else is tracked, nothing is sold, and there is no advertising. What this means

00Analytics

We count visits with Google Analytics, which sets two cookies, to see which pages get read and improve the site. Google only processes it for us: no advertising, no data sharing, no profiles. You can turn it off now or any time from Cookie settings in the footer. The details