website - program_pwatechnical analysis of this sitePWA & RUST WASM
Static sites have evolved. Regular HTML generation (SSG) is no longer enough for complex calculations. The combination of Next.js, Serwist, and WebAssembly changes the game.
Why this specific stack?
Offline-First (Serwist)
Thanks to @serwist/next, the site is cached in the Service Worker. Users can open pages and use WASM utilities without internet.
Power of Rust WASM
Image processing, cryptography, or complex math are executed at near-native speed (C++) right in the client's browser.
SEO + Speed (Next.js)
Static generation provides search engines with clean HTML. WASM and Service Worker are connected post-factum.
Performance Comparison
Static + PWA vs Server-Side Rendering (SSR)
Traditional SSR
The server generates HTML for every request.
- High server costs under traffic.
- Does not work without internet.
- Slow TTFB under heavy load.
Serverless SSR
Functions run on demand (Vercel/AWS).
- Easy scaling.
- Cold start problem.
- Computations still require network.
PWA + WASM
CDN delivers static assets, WASM computes on device.
- $0 compute server costs.
- 100% ready for airplane mode.
- Rust power utilizes client CPU.
PWA vs Native Mobile Apps
Why pay store commissions and wait for reviews if web technologies with Rust WASM are already capable of 90% of what native does?
Native (App Store / GP)
Advantages:
- Maximum performance.
- Full access to Bluetooth, NFC, Contacts.
- Familiar installation pattern.
Disadvantages:
- Bureaucracy and long review process.
- 15-30% commission on payments.
- Need separate teams for iOS and Android.
PWA + WASM
Advantages:
- Instant updates without reviews.
- Independence from app stores.
- Single codebase for all platforms.
- Compute speed nearly equal to native.
Disadvantages:
- Installation UX (Add to Home Screen).
- Safari limitations on Push notifications.
Security, Protection and Encryption (Zero Trust)
Our approach moves complex cryptography to the user's device. Data is encrypted via Rust before leaving the device.
Why PWA + WASM outperforms other solutions?
Server Invulnerability (SSG)
The site is hosted on a CDN. No database on the backend — no SQL injections.
Power of Cryptography (Rust)
WASM performs encryption (AES, RSA) at speeds identical to native applications.
Memory Isolation
Rust is protected from memory leaks, and WASM runs in a strict browser sandbox.
Stack Vulnerabilities (An Honest Look)
The web environment imposes certain risks:
- Storage (IndexedDB)Native apps have Secure Enclave. PWAs use IndexedDB. Solution: encrypt data using the user's password.
- XSS VulnerabilityMalicious JS can interact with WASM. Solution: strict CSP.
- Reverse EngineeringWASM can be disassembled. Never store secret API keys within the Rust code.
Ecosystem Battle: Top PWA Stacks
The choice of static generator and Service Worker library defines project growth.
What to build PWA on (Cache Heart)
Serwist
Modern Workbox fork for Next.js App Router.
- ✓ Perfect for Next.js 14/15.
- ✓ Native TS.
- ✓ Actively developed.
Google Workbox
Industry standard, low-level tool.
- ✓ API flexibility.
- ✓ Huge documentation.
- ✗ Hard to integrate into App Router.
next-pwa
Formerly popular library.
- ✗ Abandoned by author.
- ✗ Bugs in App Router.
Architectural Combination Comparison
Next.js + Serwist + WASM
Niche: Complex apps (B2B, Fintech).
+ Max SEO.
+ Rust speed.
+ Full offline.
- High entry barrier.
Vite + React + Workbox
Niche: Dashboards, CRM (behind login).
+ Fast build.
+ Simple SPA.
- SEO = 0.
- No native routing.
Astro + Astro PWA
Niche: Blogs, content sites.
+ Zero JS by default.
+ Instant LCP.
- Complex State.
- Harder WASM integration.
Are there any downsides to this approach?
Despite the advantages, the PWA + WebAssembly architecture has its trade-offs:
- WASM Bundle Size: Compiled Rust code can weigh several megabytes. Serwist caches it on the first visit.
- High Entry Barrier: The team needs to know React/Next.js, Rust, and the Service Worker lifecycle.
- iOS Limits (Safari): Apple implements PWA features more slowly, but caching and WASM work perfectly.
Bottom line: If your static site needs complex client-side computations and network independence — this is the best stack for 2026.