Skip to main content

Web

yazanalsamman.com — Cinematic Portfolio Platform

This website: a bilingual, CMS-driven portfolio with a scroll-driven WebGL narrative, strict performance budgets, accessibility and SEO verification, and a containerised VPS deployment.

Evidence
Verified work
Category
Web
Architecture schematic · no published imagery

Overview

The portfolio you are reading: a Next.js App Router site whose every word comes from a Payload CMS, with a scroll-driven 3D narrative — the Inference Core, neural graph, actuator and portrait — layered over server-rendered, crawlable HTML.

Constraints

The 3D experience must never cost the reader: critical JavaScript is budgeted at 170 KB gzip and the lazily-loaded scene at 400 KB; idle and off-screen rendering must be zero; reduced-motion, Save-Data, low-memory and WebGL-less visitors get a complete static experience; Arabic must be first-class RTL but stays unpublished until a human review approves it.

Architecture

Next.js (App Router, React Server Components) renders every page on the server from a typed content contract: a Payload CMS on PostgreSQL feeds a repository adapter, whose output is validated before any page sees it. The 3D scene is a separate, lazily imported React Three Fiber chunk behind a capability-based quality tier. Production runs as Docker containers behind Nginx with TLS, backups and a rehearsed restore.

Engineering decisions

Frames are rendered on demand — only while scroll progress changes — and every shader program is compiled in parallel before the first frame, which removed mid-scroll compile stalls. Content that matters is never only in WebGL: the H1, captions and portrait exist in HTML first.

Results

Measured in the project's own verification runs: critical JavaScript about 165 KB gzip on the home page, the 3D scene about 253 KB gzip, zero draws while idle or off-screen, no frame over 33 ms in the scroll harness, zero axe WCAG violations across the audited routes, and an end-to-end suite of 164 passing tests.

Software engineering

Tavola — Multi-Tenant Restaurant Reservation Platform

A multi-tenant SaaS for restaurant reservations, tables, branches and staff: NestJS backend with real-time updates, a Flutter customer app, a React restaurant dashboard and a platform-owner console.

Stack

  • NestJS
  • TypeScript
  • PostgreSQL
  • Prisma
  • Redis
  • BullMQ
  • Real-time systems (WebSockets)
  • Multi-tenant SaaS architecture
  • Authentication & session security
  • Authorization (RBAC)
  • Object storage (S3 / MinIO)
  • Docker
  • Nginx
  • Flutter
  • Dart
  • React
  • Tailwind CSS
  • Internationalization & RTL
  • System design & ADRs
  • Automated testing
  • Source
  • Documented: Problem, Approach, Architecture, Results

Web

Zina Almokri — Personal Brand Website

A bilingual, editorial website for a beauty creator: product reviews with published test conditions, a six-stage testing method, a journal and portfolio — built phase by phase with Astro and a 3D product layer.

Stack

  • Astro
  • TypeScript
  • Three.js / WebGL
  • Internationalization & RTL
  • Web accessibility
  • Performance engineering
  • Automated testing
  • Source
  • 4 figures
  • Documented: Approach, Architecture, Results
Zina Almokri website home page — hero: “I test it on my own skin, then I tell you exactly what happened.”

Web

Tabkha & More — Interactive Digital Menu and CMS

A bilingual interactive menu and restaurant CMS: React on Vite, a Hono API with Neon Postgres and Drizzle, session-authenticated admin, media uploads and a CI pipeline.

Stack

  • React
  • TypeScript
  • Tailwind CSS
  • PostgreSQL
  • CI/CD
  • Internationalization & RTL
  • Source
  • Documented: Architecture, Results