Spache

Comparisons

Start with the real storefront behind these comparisons, then see how different rendering approaches would handle it.

Mid Engine Co: a real Spache case study

Visit midengineco.com, a custom storefront backed by Shopify.

It was built as a plain single-page app with Mithril. During development, no server-side rendering work or SSR framework was added; the app loads its product data in the browser, manages each visitor’s cart there, and sends checkout to Shopify.

To put it on Spache, the existing Render-hosted app was configured as the site origin, then its public domain was connected and pointed through Spache. Spache runs the app in a clean browser, prepares and serves rendered product pages, and the visitor’s SPA still starts normally. Public JSON GET responses are captured automatically for startup replay; the visitor’s cart remains their own live browser session. No SSR conversion or separate static HTML publishing pipeline was needed.

Current Spache-generated screenshot of Mid Engine Co’s products page
Live Spache screenshot of the Mid Engine Co home route.

Alternative implementations

Building Mid Engine Co with Astro

How Astro could render product pages, keep the cart interactive, and manage product freshness.

Building Mid Engine Co with Next.js

How Next.js could combine Server and Client Components, Shopify data, cart sessions, and revalidation.

Building Mid Engine Co with react-snap

How a build-time headless-Chrome prerenderer would crawl the storefront and keep generated product pages current.

Building Mid Engine Co with Prerender.io

How crawler-specific rendering compares with serving prepared pages to every visitor.