What this is
A feasibility experiment: the Remix 3 marketing homepage (https://remix.run) rebuilt on WebJs with no build step, to test how far the framework can go for "extremely futuristic" marketing sites. It is an internal experiment, NOT a real Remix property; the design, copy, and assets are ported from the open-source remix-run/remix-website repo (MIT) purely to measure feasibility, and it is not deployed as Remix.
Lives on branch experiment/remix-website-clone, under remix-website/ (a new app in the monorepo), tracked by the linked PR.
Outcome
Feasibility confirmed. WebJs hosts a Remix-3-grade site cleanly, with no bundler:
- A live Three.js particle background (the engine ported near-verbatim, framework-agnostic), morphing between point-cloud presets on scroll, with bloom, afterimage trails, mesh-gradient background, mouse parallax, and projected labels.
- The full design system: pure-black canvas, an animated
@property --brand-cycle color, glowing Inter headlines over JetBrains Mono, frosted-glass feature sections, loading screen, package badges, section-nav, two-card ending, footer.
- Three.js vendored into the importmap via jspm (single instance, no bundler); the engine boots client-side only through a dynamic import, so SSR never touches WebGL.
- Progressive enhancement intact (SSR content reads without JS),
webjs check passing, clean console.
The only real friction was the buildless type-erasability rule (one constructor parameter property) and vendoring Three.js by hand.
Dogfood issues this surfaced
This experiment produced four grounded framework issues: #953 (vendor pin drops uninstalled specifiers), #954 (worktree cannot resolve @webjsdev/*), #955 (recipe for a heavy client-only engine), #956 (prose hook false-positive on a quoted CLI script). Those are tracked separately and fixed in their own PR.
Tracking
What this is
A feasibility experiment: the Remix 3 marketing homepage (https://remix.run) rebuilt on WebJs with no build step, to test how far the framework can go for "extremely futuristic" marketing sites. It is an internal experiment, NOT a real Remix property; the design, copy, and assets are ported from the open-source
remix-run/remix-websiterepo (MIT) purely to measure feasibility, and it is not deployed as Remix.Lives on branch
experiment/remix-website-clone, underremix-website/(a new app in the monorepo), tracked by the linked PR.Outcome
Feasibility confirmed. WebJs hosts a Remix-3-grade site cleanly, with no bundler:
@property --brand-cyclecolor, glowing Inter headlines over JetBrains Mono, frosted-glass feature sections, loading screen, package badges, section-nav, two-card ending, footer.webjs checkpassing, clean console.The only real friction was the buildless type-erasability rule (one constructor parameter property) and vendoring Three.js by hand.
Dogfood issues this surfaced
This experiment produced four grounded framework issues: #953 (vendor pin drops uninstalled specifiers), #954 (worktree cannot resolve
@webjsdev/*), #955 (recipe for a heavy client-only engine), #956 (prose hook false-positive on a quoted CLI script). Those are tracked separately and fixed in their own PR.Tracking
experiment/remix-website-clonepushed (done).