All work
Case studyVue 3LaravelTypeScriptWebSocketsRBAC

Dynamic Workflow Orchestrator

A full-stack approval system that eliminates the chaos of manual, untracked approval processes. Built with Vue 3 and Laravel 11 for configurable sequential and parallel pipelines, real-time updates via WebSockets, and role-based access control — ensuring every request flows through the right people in the right order.

Engineering decisions

Parallel & sequential pipelines

Designed a workflow engine where steps with the same execution_group run in parallel, while different groups run sequentially — giving admins full control over complex approval flows.

Real-time updates with WebSockets

Integrated Laravel Reverb for live UI updates when approvals are made — no polling, no page refresh, instant feedback across all connected clients.

Race condition prevention

Used SELECT FOR UPDATE row locking in AdvanceWorkflowJob to prevent duplicate workflow advancement during concurrent approvals hitting the same step simultaneously.

Role-based access control

Implemented dynamic RBAC with Spatie Laravel Permission — roles are assigned at runtime, and approver lists are snapshotted at request creation to ensure auditability even if roles change later.

Built with

Vue 3Laravel 11TypeScriptTailwind CSSPiniaMySQL

Hiring a frontend or mobile engineer?

I'm open to full-time roles and freelance projects — remote or hybrid in Cairo. Email me with a short description of the role and I'll reply within 24 hours.

Email me