Swup — Lightweight Page Transitions Alternative
Swup is a lighter alternative to Barba.js — same SPA-style transitions, smaller bundle, simpler API.
Swup (swup.js.org) is a page-transition library that competes with Barba.js. Smaller bundle (~12KB vs Barba's 25KB), simpler API, plugin system for animations. Same core benefit for 3D sites: WebGL canvas survives across pages, transitions are smooth. For most projects, Swup vs Barba is a matter of preference — both work well. I default to Swup for new projects (lighter) but maintain Barba on legacy projects rather than migrating. Plugin ecosystem is smaller than Barba's but covers the common use cases (GSAP transitions, scroll restoration, fragment plugin for partial page updates).
What you get hands-off
After delivery: source repository on GitHub (private), commented code, a 5-min Loom walkthrough explaining the scene logic, and the asset pipeline documented. First year of hosting and minor revisions is included. After that we agree on a maintenance plan if needed.
What this delivers
Concrete output: a working swup page transitions integration on a real production site, not a demo. The integration includes device-tier detection so weak phones get a lighter version automatically. Source files are handed over in their original formats — Blender, GLSL, glTF — so any future developer can continue where I stopped.
How I work with it
On a typical project, swup page transitions ships as a self-contained module: one entry-point JS file, one CSS file, asset bundle below 1.5MB total. I keep the integration sandboxed so the rest of the site stays SEO-friendly classical HTML. Frame budget targets 60 FPS on a mid-range Android, with a measurable fallback below.
Performance budget
Lighthouse mobile target: 85+ across all categories. I measure on real devices, not just emulator. Asset compression: glTF + Draco for meshes, KTX2 for textures, Brotli for shaders. Lazy-load any swup page transitions scene that isn't above the fold so the first paint stays under 1.5s.
Frequently asked questions
Why pick this technology over alternatives?
What if a newer tool comes out next year?
How long does this take?
What does it cost?
What if my visitors are on weak phones?
Ready to ship a 3D experience?
Tell me what you need — fixed price, fixed deadline, no surprises.