Client & context
A growing marketplace platform had a Laravel backend with a Vue-based front end. Over time, performance and maintainability had degraded:
- Initial architecture and dependencies were several years old.
- Front-end builds had become huge and slow.
- Page load times were poor, and SEO was suffering.
The client wanted to continue adding features, but the platform needed a serious technical refresh.
Challenges
- Slow front end: Full page load took around 6.5 seconds, affecting user experience and conversions.
- Oversized bundle: The JavaScript bundle had grown to about 1.6 GB, with a long build time and many outdated dependencies.
- Legacy stack: The project was stuck on Vue 2 with a Webpack-based toolchain.
- Heavy background jobs: Some scheduled database jobs were taking minutes to complete.
- Security & maintenance: npm dependency vulnerabilities accumulated over time.
What I did
1. Vue 2 → Vue 3 migration and build pipeline modernization
- Planned and implemented an incremental migration from Vue 2 to Vue 3, keeping the app functional throughout.
- Replaced the old Webpack-based build with a modern esbuild-based toolchain.
- Removed unused dependencies and split bundles where appropriate.
Impact:
- Bundle size reduced from ~1.6 GB to ~300 MB.
- Build time improved roughly 3×.
- Number of npm vulnerabilities went down to zero after updating and cleaning dependencies.
2. Performance & PageSpeed improvements
- Profiled the front end and backend to identify major bottlenecks affecting load times.
- Optimized critical rendering paths, reduced unnecessary requests, and improved caching.
- Addressed CLS (Cumulative Layout Shift) and other Web Vitals issues.
- Fixed SSR (server-side rendering) problems that were hurting SEO and initial render performance.
Impact:
- Full page load time improved from ~6.5 seconds to around 1 second on key views.
- PageSpeed scores increased substantially, improving both SEO and user experience.
3. Backend and database optimization
- Analyzed heavy SQL jobs and long-running scheduled tasks.
- Rewrote queries, added indexes, and improved job design to reduce load and contention.
Impact:
- Some jobs went from running for minutes to completing in seconds, freeing resources and reducing operational risk.
4. Feature work: payments, auth, streaming
While improving performance, I also implemented and extended key marketplace features:
- Stripe Connect setup and integration for multi-party payments.
- Social logins and authentication improvements.
- Features around live/streaming interactions (chat/communication) in the platform.
This ensured that technical modernization was not just an internal refactoring exercise but also delivered visible product value.
Results
- The marketplace became significantly faster and more pleasant to use.
- The front-end stack was brought to a modern, maintainable state with Vue 3 and an efficient build pipeline.
- Security and maintenance risk from outdated dependencies and vulnerabilities was dramatically reduced.
- The team could move forward with new features on a solid technical foundation instead of fighting the platform.
Tech & responsibilities
- Role: Senior full-stack engineer / modernization lead
- Technologies: Laravel, Vue 2→3, esbuild, npm, SQL, Stripe Connect, SSR, Web Vitals, background jobs
- Scope: Architecture, hands-on implementation, performance tuning, refactoring, feature development, and technical guidance
If your Laravel/Vue/React product is slow, fragile, and hard to evolve, I can help you modernize it step by step while continuing to deliver new features.
Back to all case studies