The challenge
Open Circle maintains Valibot and Formisch, two libraries used across the TypeScript ecosystem. Their docs, valibot.dev and formisch.com, ran on Vercel Pro through the Vercel OSS Program. When that sponsorship ended, the Pro bill was about to move from Vercel to the maintainers. The sites needed the same public documentation, but without a recurring infrastructure cost.
Why static was the right call
These were documentation sites, not products that needed request-time rendering. Qwik SSG could pre-render the routes, keep client navigation through q-data.json, and move preferences such as theme, chapters, and framework choice into localStorage. That kept the user experience intact while removing Edge SSR, runtime functions, and the need for Vercel Pro.
What we shipped
-
Replaced Edge and Cloudflare adapters with the @qwik.dev/router SSG adapter.
-
Generated plain HTML in dist plus per-route q-data.json files for client navigation.
-
Moved cookie-backed theme, chapter, and framework state into localStorage Qwik providers with signals.
-
Replaced server actions with client-side signals for menus, sidebars, and FAQ disclosures.
-
Pre-generated OG PNGs at build time with @vercel/og and sharp, removing dynamic /og routes.
-
Moved redirects and cache headers into vercel.json for static delivery.
-
Patched Qwik SSG trailing-slash handling for dotted paths such as .md and .png filenames.
Outcome
Formisch and Valibot now deploy as static Qwik sites on Vercel Hobby. They ship about 240 pre-rendered pages per site, serve OG images from the CDN, and use no runtime functions. The monthly hosting bill is $0, and users get faster first paint because the browser receives static HTML instead of waiting for request-time rendering.
Part of our OSS Partner Program
This was the first delivery under our OSS Partner Program, which we are still building. The idea is simple: help open-source teams remove recurring infrastructure and maintenance costs, so funding can go back into the libraries people depend on.
