Abdelrahman Awad

Lessons learned from building a thriving Vue.js SaaS application

How do you handle API version skew when users don't reload your app for over 70 days?

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.

Angular Developer

Picnic Technologies B.V.
Amsterdam, Netherlands

Intermediate
Senior

Featured Partners

Related Articles

View all articles
BR
Benjamin Ruschin
What Developers Really Need to Create Great Code Demos
Every developer on earth has, at some point, had another developer to thank for a breakthrough, a success, an aha moment they wouldn’t have had without coming across that blog post, that open-source contribution, that reply on socials or that humble ...
What Developers Really Need to Create Great Code Demos
CH
Chris Heilmann
All the videos of Halfstack London 2024!
Last month was Halfstack London, a conference about the web, JavaScript and half a dozen other things. We were there to deliver a talk, but also to record all the sessions and we're happy to share them with you. It took a bit as we had to wait for th...
All the videos of Halfstack London 2024!
DC
Daniel Cranney
Dev Digest 159: AI Pipelines, 10x Faster TypeScript, How to Interview
Inside last week’s Dev Digest 159 . 🤖 How to use LLMs to help you write code ⚡ How much electricity does AI need? 🔒 Is your API secure? Learn all about hardening it… 🟦 TypeScript switches to go and gets 10 times faster 🖼️ An image cropper in your ap...
Dev Digest 159: AI Pipelines, 10x Faster TypeScript, How to Interview
BR
Benjamin Ruschin
The HTML Elements That You’re Probably Over-Engineering
As frameworks have become more and more commonplace in the world of web development, so too has the over-engineering of features made possible by our humble old friend, HTML. The mental models that come with using state management in React, Vue and o...
The HTML Elements That You’re Probably Over-Engineering

From learning to earning

Jobs that call for the skills explored in this talk.