Hichem.

Senior Full-Stack Engineer

I'm an engineer and developer with a deep passion for bringing meaningful ideas to life through code. Over the past 7+ years, my interest in technology has grown into building complete products end-to-end across frontend, backend, and mobile, collaborating with and leading great teams along the way.

Experience

Lead Developer @ BMW (UK)

Jan '24 – Jul '24 | Contract — Lead Developer at Showcase Web Development, United Kingdom
  • Designed and shipped the BMW (UK Northampton) customer order-tracking portal end-to-end as Lead Developer at Showcase Web Development: secure login, live vehicle production status (production → shipping → PDI → ready), payment schedule, one-click PDF invoices, and SMS/email notifications via Twilio + AWS SES.
  • Built the admin & sales workspace with role-based access (admin / finance / salesperson), real-time revenue and unit-sales dashboards per employee + showroom, an automated commission calculator, and bulk customer messaging for recalls and promotions.
  • Stack: Laravel backend with React + Vue 3 + Pinia + Vite + Tailwind on the frontend; AWS infrastructure provisioned with AWS CDK in TypeScript (EC2 Auto-Scaling behind ALB, RDS Aurora Serverless, S3 + CloudFront, ElastiCache Redis, SES, CloudWatch). Shipped via GitHub Actions → CodeDeploy blue/green pipelines.
  • Outcomes: 100% portal adoption within Q1, ~70% reduction in inbound "where's my car?" calls, payment-collection time improved from 5 days → 12 hours, ~8 hrs/week saved per salesperson, zero unscheduled downtime over a 12-month run.

Featured Work

|
React 19 · deck.gl · Fastify · DuckDB · TypeScript · Docker

Orbitworks — Constellation Access Explorer

A full-stack geospatial app for a 10-satellite Earth-observation constellation — and the one project here you can read end-to-end.

Orbitworks renders a full week of orbital ground tracks — roughly 100,000 one-minute segments — on an interactive 3D globe, with satellite and time-range filtering that responds instantly. Click anywhere on the planet and it returns every satellite pass over that point within a chosen radius and time window, highlighting the in-range portion of each track and keeping the globe and the results list in sync. A playback timeline flies the whole constellation through the week at up to 3000× real time, each satellite trailing a comet tail of the ground it has just covered.

The interesting work is underneath. The bulk payload ships as a single columnar Parquet file, decoded in a Web Worker straight into typed arrays, so a satellite toggle or a time-slider drag changes one GPU uniform instead of triggering a refetch — the whole week filters at frame rate with zero SQL in the browser. On the server, DuckDB's spatial engine prefilters candidates through an R-tree and then measures true geodesic distance in an azimuthal-equidistant projection centred on the click: a one-minute LEO segment is about 430 km long, so the usual planar midpoint approximation is off by roughly 49%, and the projected approach is antimeridian-safe as well.

Built as a pnpm monorepo with one set of Zod schemas shared across the API and client so the two ends cannot drift, and covered by 70 Vitest tests including API integration tests that run against a real DuckDB. Every push runs the whole gate in CI — typecheck, ESLint, Stylelint, Prettier, the data ingest and the full suite — then builds both Docker images: multi-stage builds that compile DuckDB's spatial extension for linux/amd64 and linux/arm64, shipping on distroless and Chainguard bases as non-root. The assistant in the first screenshot answers questions like “which satellites pass over Abu Dhabi on 3 March” by tool-calling into that same query engine and steering the map with the result, so every figure it quotes is computed rather than invented. Each architectural decision, and every place the build diverged from the plan, is written up in the repo.

Orbitworks — Constellation Access Explorer — primary screenshot
Orbitworks — Constellation Access Explorer — screenshot 2Orbitworks — Constellation Access Explorer — screenshot 3
|
Laravel · Inertia · React 19 · Go · Shopify

ConsignX

The #1 Consignment Management Platform — designed and shipped from zero as the founding engineer.

ConsignX is a multi-category luxury consignment management platform (handbags, watches, sneakers, jewelry) live across 5+ retail partners in the UAE with 500+ consignors and 10K+ active listings. Built across two complete architectures — first a T3 stack (Next.js + tRPC + Drizzle + NextAuth + Supabase), then re-platformed to Laravel 11 + Inertia + React 19 + MUI v7 + Tailwind 4.

The platform handles the full consignment lifecycle: seller KYC, signature-based digital agreements with PDF generation, offer/counter-offer flows, dropoff scheduling, real-time chat over Laravel Reverb, and a payouts engine with multi-scheme VAT. A webhook-driven bi-directional Shopify integration layer keeps 20K+ SKUs and tens of thousands of consignment units synchronized in real time across storefront, in-store POS, and the consignment portal — sub-second sync at 99.9% uptime — backed by a Go (Gin) API broker.

On the floor, an Expo / React Native POS companion app for staff and three custom Shopify POS UI extensions (smart-grid scanner, order scanner, return/exchange scanner) extend consignment ops directly into Shopify POS.

ConsignX — primary screenshot
ConsignX — screenshot 2ConsignX — screenshot 3
|
Next.js 16 · React 19 · Storyblok · Typesense · Go · Shopify

Mad Kicks Storefront

Headless Shopify storefront for the Middle East — re-platformed end-to-end as the lead engineer.

Mad Kicks is a Dubai-based premium sneakers retailer. Re-platformed the storefront from native Shopify to a headless Next.js 16 + React 19 + Storyblok stack on the Storefront GraphQL API, consolidating UAE and KSA into a single multi-currency, multi-language Middle East platform serving 20K+ SKUs and 10K+ monthly orders/visitors with edge-rendered responses on Vercel behind Cloudflare.

Backed by a fleet of Shopify apps in TypeScript and Go (Gin) — checkout UI extension, payment + delivery customization Functions, DHL carrier-rate service, a WhatsApp Business API back-in-stock subscription platform (Nuxt 3 + Prisma), and a Next.js receipt generator. Search migrated from Algolia to Typesense via an Express + Bull/Redis sync worker integrated with React InstantSearch on the storefront.

Plus a consumer Expo / React Native storefront app on iOS and Android with Firebase Messaging, Klaviyo profile sync, and Facebook SDK for ATT-compliant attribution.

Mad Kicks Storefront — primary screenshot
Mad Kicks Storefront — screenshot 2Mad Kicks Storefront — screenshot 3
||
Laravel · React · Vue 3 · AWS CDK · TypeScript

BMW (UK) Order-Tracking Portal

Customer order-tracking portal for BMW Northampton — built end-to-end as Lead Developer at Showcase Web Development.

Customer portal: secure login, live vehicle production status (production → shipping → PDI → ready), payment schedule, one-click PDF invoices, and SMS/email notifications via Twilio + AWS SES.

Admin & sales workspace: role-based access (admin / finance / salesperson), real-time revenue and unit-sales dashboards per employee + showroom, automated commission calculator, and bulk customer messaging for recalls and promotions.

AWS infrastructure with AWS CDK in TypeScript: EC2 Auto-Scaling behind ALB, RDS Aurora Serverless, S3 + CloudFront, ElastiCache Redis, SES, and CloudWatch — shipped via GitHub Actions → CodeDeploy blue/green.

Outcomes: 100% portal adoption within Q1, ~70% reduction in inbound "where's my car?" calls, payment-collection time improved from 5 days → 12 hours, and zero unscheduled downtime over a 12-month run.

||
Laravel · React · Vue 3 · WebRTC · Azure

Saudi MoT — Virtual Inspection Platform

Remote virtual hotel-inspection platform for the Kingdom of Saudi Arabia Ministry of Tourism — Solution Architect & Full-Stack Lead.

Replaced on-site hotel inspections with WebRTC video sessions launched from one-time secure links, on-screen star-rating checklists updated live as inspectors walked the property, and real-time compliance scoring with automatic warning, fine, or upgrade recommendations.

Instant reporting: digitally-signed PDF reports generated the moment a session ended, pushed into the Ministry's licensing system; fines auto-created and paid through the SADAD payment gateway.

Security: Inspector / Reviewer / Hotel-Agent roles with granular permissions and an immutable audit log meeting national cybersecurity controls. Stack: Laravel + Redis + Vue 3 + Vite + Pinia + Tailwind, native WebRTC with Laravel WebSockets; deployed on Azure App Service with Azure SQL, Blob Storage, Communication Services, Service Bus + Event Grid.

Outcomes: 6× increase in daily inspections (~18 remote vs. 3 on-site), ~85% reduction in travel + accommodation costs, license-renewal turnaround cut from 4 weeks to under 48 hours.

|
TypeScript · React.js · Nest.js

ChargeDeals

Independently developed an entire startup, transforming their vision into a vibrant reality!

ChargeDeals is a solution to the EV community with a mission focused on boosting local economies by providing a win-win solution for businesses and electric vehicle drivers — and I was contracted to develop this idea.

I led the creation of an innovative startup focused on boosting local economies while empowering businesses and electric vehicle drivers. Built using TypeScript, React, Nest.js and a variety of other cutting-edge tools, combined with advanced algorithms, best practices, and software structures to efficiently manage data and achieve top-notch performance.

This comprehensive approach not only ensures a smooth and seamless user experience but also reflects my commitment to innovation and technical excellence.

ChargeDeals — primary screenshot
ChargeDeals — screenshot 2ChargeDeals — screenshot 3
Vue.js · Nuxt · Tailwind

T2linux

Linux support for Apple T2 security-chip devices

Open-source initiative that patches Linux and associated distros for Apple T2-based devices. Marketing site and docs built with Vue + Tailwind.

Other Projects

Laravel · Vue 3 · AWS · Shopify GraphQL

3magine Shopify Admin

Multi-store admin platform for Canadian e-commerce brands

Unified Laravel + Vue 3 admin connecting one or many Shopify stores via REST + GraphQL APIs. Bypassed Shopify's 100-variant limit, added bulk catalog tooling and a discount-rule builder, cutting merchants' catalog-maintenance effort by ~40%.

pfSense · PHP 8 · MySQL · Stripe · Twilio

Captive-Portal Firewall

Custom guest Wi-Fi platform for hotels & airports

Custom pfSense captive-portal + bandwidth-management firewall deployed across hotel chains, international airports, and retail centres — multi-method auth (room/OTP/voucher), Stripe top-ups, real-time analytics. ~70% lower licensing cost vs. proprietary gateways.

React · Web Audio API · TypeScript · Web Workers

Wevoz Audio Editor

Browser-based multi-track DAW

Browser-based multi-track audio editor for podcast creators — virtualised timeline, custom DSP for on-the-fly track merging with gain/pan/fade curves, IndexedDB session persistence. Renders > 60 fps with up to 50 simultaneous tracks.

Python · pandas · NumPy · SciPy · Springer

Springer Publication

Cybersecurity Data Breach Analysis (California)

Co-author & lead data analyst on a Springer-published longitudinal study of California data breaches (2012–2022) — first industry-specific breach profile for the state, cited in university courses and state committee briefings. 1,400+ chapter accesses in year one.

React · TypeScript · Vite

React Refactor Challenge

Senior-level frontend refactor challenge

Senior-level frontend coding challenge: refactoring a legacy React application into a modern TypeScript + Vite codebase with clean component architecture, modular state, and improved performance.

React Native · Express.js · Supabase · Prisma

React Native Challenge

Cross-platform mobile coding challenge

Senior-level cross-platform mobile coding challenge with a full Express + Prisma backend. Tasks and API docs in the repo README.

React · NestJS · MongoDB · Turborepo

Easygenerator Auth

Full-stack JWT auth module

Full-stack authentication module with React + react-hook-form + Zod on the frontend and a NestJS + MongoDB backend, structured as a Turborepo monorepo.

Laravel · PHP · MySQL

IPS Task

Laravel achievements + badges backend

Substantive Laravel backend with database seeders, achievements, and badges system — demonstrates Laravel architecture, schema design, and seed-data strategy.

View more of my work on GitHub ›