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
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
00:17 MIN
The challenge of building scalable frontend applications
Typescript, React and Atomic Design - a match made in heaven
51:53 MIN
Q&A on shared systems and scaling productivity
Forget Developer Platforms, Think Developer Productivity!
33:55 MIN
Audience Q&A on practical micro-frontend challenges
Micro-frontends anti-patterns
32:22 MIN
Deciding when and how to decouple your projects
Decoupling 101 - Why decouple, when not to, progressive decoupling and success stories in decoupling
01:35 MIN
Understanding single page application architecture
A Primer in Single Page Application Security (Angular, React, Vue.js)
35:44 MIN
Answering questions on headless architecture
Fast & Furious - Going headless with Nuxt.js!
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
Common Mistakes in Vue.js and How to Avoid Them
Daniel Kelly
Independently together: how micro-applications improve developer experience + app performance
Bilal Cinarli
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



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





Frontend Developer Vue.js
Aptean
Hannover, Germany
GIT
Scrum
Vue.js
Entity Framework
Continuous Integration

Vue.js Developer im Frontend
APRIORI - business solutions AG
München, Germany
Remote
CSS
React
Svelte
Vue.js
+3


