War Story: We Ditched Angular 18 for Svelte 5 and Reduced Our 2026 Enterprise App Bundle Size by 58%
In Q3 2025, our 14-person frontend team stared down a 3.2MB initial bundle for our Angular 18...
Full article excerpt tap to expand
try { if(localStorage) { let currentUser = localStorage.getItem('current_user'); if (currentUser) { currentUser = JSON.parse(currentUser); if (currentUser.id === 3900225) { document.getElementById('article-show-container').classList.add('current-user-is-article-author'); } } } } catch (e) { console.error(e); } ANKUSH CHOUDHARY JOHAL Posted on Apr 28 • Originally published at johal.in War Story: We Ditched Angular 18 for Svelte 5 and Reduced Our 2026 Enterprise App Bundle Size by 58% #story #ditched #angular #svelte In Q3 2025, our 14-person frontend team stared down a 3.2MB initial bundle for our Angular 18 enterprise resource planning (ERP) app — a figure that triggered 4.7s first contentful paint (FCP) on mid-range mobile devices, cost us 12% of our trial user conversions, and left our Lighthouse performance score stuck at 38. Six months later, after migrating to Svelte 5, our production bundle shrank to 1.34MB (a 58% reduction), FCP dropped to 1.1s, Lighthouse hit 94, and we shipped 3 new features with 40% less code than the Angular equivalent. This is the unvarnished story of how we made that switch, the benchmarks that backed it, and the lessons we learned that no migration guide will tell you. 🔴 Live Ecosystem Stats ⭐ sveltejs/svelte — 86,439 stars, 4,897 forks 📦 svelte — 17,419,783 downloads last month Data pulled live from GitHub and npm. 📡 Hacker News Top Stories Right Now GTFOBins (112 points) Talkie: a 13B vintage language model from 1930 (333 points) Microsoft and OpenAI end their exclusive and revenue-sharing deal (867 points) Is my blue your blue? (507 points) Can You Find the Comet? (17 points) Key Insights Svelte 5’s compilation model eliminated 1.8MB of Angular 18 runtime and change detection overhead from our production bundle Migration targeted Svelte 5.0.2 and Angular 18.2.0, with full backward compatibility for our existing REST and GraphQL APIs 58% bundle reduction cut our global CDN bandwidth costs by $14,200 per month, with zero increase in infrastructure spend By 2027, 70% of new enterprise frontend projects will adopt compiled frameworks like Svelte 5 over virtual DOM-based alternatives Why We Left Angular 18 Our Angular 18 app had grown organically over 3 years, starting as a small internal tool and scaling to a full-featured ERP used by 12,000+ employees across 14 countries. By mid-2025, we were drowning in framework overhead: Angular’s runtime alone added 142KB (gzip) to every page load, change detection added 300ms of overhead per user interaction, and NgRx state management required 4 files (action, reducer, effect, selector) for every feature, ballooning our codebase to 142,000 lines of TypeScript. Build times were the breaking point: our CI pipeline took 14 minutes 22 seconds to produce a production build, with 30% of that time spent on Angular’s template type checking and Ivy compilation. We tried code splitting, lazy loading, and tree-shaking optimizations, but Angular’s tightly coupled ecosystem meant we could never get our initial bundle below 3MB. Our trial conversion rate dropped 12% year-over-year as mobile users in emerging markets with slow connections abandoned the app before it loaded. We knew we needed a framework where the compiler did the heavy lifting at build time, not the user’s browser at runtime. Angular 18 vs Svelte 5: Benchmark Comparison We ran a 4-week proof of concept on our payroll module before committing to a full migration. The results were unambiguous: Metric Angular 18…
This excerpt is published under fair use for community discussion. Read the full article at DEV Community.