Abdelrahman Awad
Lessons learned from building a thriving Vue.js SaaS application
#1about 3 minutes
Building a complex Vue.js SaaS application at scale
An overview of the Rasayel application, a feature-rich platform built for WhatsApp business communication by a small engineering team.
#2about 2 minutes
Why Vue.js and GraphQL were chosen for scalability
The decision to use Vue.js for its easy onboarding and GraphQL for end-to-end type safety was crucial for shipping features quickly.
#3about 5 minutes
Organizing a large codebase with a monorepo and flat components
A monorepo with isolated deployment targets and a flat component structure simplifies refactoring but can lead to component duplication at scale.
#4about 4 minutes
Using composables and barrel files to manage logic
Logic is isolated in Vue composables and organized with barrel files, which must avoid side effects to ensure proper tree shaking.
#5about 2 minutes
Building UI-agnostic composables for data management
Composables are designed to handle data fetching, transformations, and real-time updates without any knowledge of the UI rendering them.
#6about 8 minutes
Navigating state management patterns and their trade-offs
An analysis of different state management approaches, from simple refs to provide/inject, highlights challenges with ownership and developer experience.
#7about 3 minutes
Focusing on the right metrics for SPA performance
For a complex single-page application, focusing on Cumulative Layout Shift (CLS) and Interaction to Next Paint (INP) provides more value than raw Lighthouse scores.
#8about 2 minutes
Solving asset version skew in long-lived user sessions
To prevent 404 errors for users who keep the app open for days, asset files are versioned with consistent Git commit hashes.
#9about 1 minute
Managing API version skew between frontend and backend
By sending the frontend's version hash in API headers, the application can detect breaking changes and prompt users to reload.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
33:55 MIN
Audience Q&A on practical micro-frontend challenges
Micro-frontends anti-patterns
00:27 MIN
Moving from hacking MVPs to building scalable applications
Typescript, React and Atomic Design - a match made in heaven
44:31 MIN
Q&A on GraphQL, team structure, and vendor software
Building high performance and scalable architectures for enterprises
10:49 MIN
The rise and trade-offs of single-page applications
Snappy UI needs no Single-Page Application
23:13 MIN
Key takeaways for building multi-version frontends
Advanced Micro Frontends: Multi-Version and Multi-Framework Scenarios
28:37 MIN
Q&A on refactoring SPAs and page transitions
The Lean Web
31:53 MIN
Q&A on framework comparisons and advanced concepts
Securing Frontend Applications with Trusted Types
27:05 MIN
Modernizing the user interface with micro frontends
Application Modernization and Rabbits
Featured Partners
Related Videos
Snappy UI needs no Single-Page Application
Clemens Helm
petite-vue - Progressively enhancing every application?
Alexander Lichter
Multiple Ships to the Island - Micro Frontends & Island Architectures
Florian Rappl
Independently together: how micro-applications improve developer experience + app performance
Bilal Cinarli
Common Mistakes in Vue.js and How to Avoid Them
Daniel Kelly
Building a large, complex product from the ground up with typescript & Atomic Design:lessons learned
Nathalia Rus
How to Build Truly Production-ready Apps - Modern JS-based SaaS Stack for Indie Devs and Small Teams
Dávid Lévai
Nuxt.js - Just Vue 3 and a bit of magic?
Alexander Lichter
Related Articles
View all articles
.webp?w=240&auto=compress,format)


From learning to earning
Jobs that call for the skills explored in this talk.

Senior Frontend Developer - Typescript / Svelte - (f/m/x)
doinstruct Software GmbH
Berlin, Germany
Senior
GIT
JavaScript
TypeScript







